<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY app "<application>Genius Mathematics Tool</application>">
<!ENTITY appname "Genius">
<!ENTITY appversion "1.0.19">
<!ENTITY date "September 2014">
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY manrevision "0.2">
<!ENTITY lt "&#60;">
<!ENTITY gt "&#62;">
<!ENTITY le "&#8804;">
<!ENTITY ge "&#8805;">
<!ENTITY lsquo "&#8216;">
<!ENTITY rsquo "&#8217;">
<!--<!ENTITY gel-function-list SYSTEM "gel-function-list.xml">-->]>
<!-- 
      (Do not remove this comment block.)
  Maintained by the GNOME Documentation Project
  http://developer.gnome.org/projects/gdp
  Template version: 2.0 beta
  Template last modified Apr 11, 2002
-->
<!-- =============Document Header ============================= -->
<book id="index" lang="el">
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
  <bookinfo>
	  <abstract role="description"><para>Εγχειρίδιο για το εργαλείο μαθηματικών.</para></abstract>
    <title>Εγχειρίδιο Genius</title>       

    <copyright>
      <year>1997-2014</year>
      <holder>Jiří (George) Lebl</holder>
    </copyright>
    <copyright>
      <year>2004</year>
      <holder>Kai Willadsen</holder>
    </copyright><copyright><year>2013</year><holder>Δημήτρης Σπίγγος (dmtrs32@gmail.com)</holder></copyright>
<!-- translators: uncomment this:
  <copyright>
   <year>2002</year>
   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
  </copyright>
-->

    <publisher> 
      <publishername/> 
    </publisher> 

     <legalnotice id="legalnotice">
	<para>Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1 ή μεταγενέστερη εκδιδόμενη από το Ίδρυμα Ελεύθερου Λογισμικού χωρίς Σταθερά Εδάφια, χωρίς Εξώφυλλα Κειμένου, και χωρίς Οπισθόφυλλα Κειμένου. Μπορείτε να βρείτε ένα αντίγραφο της GFDL σε αυτόν τον <ulink type="help" url="ghelp:fdl">σύνδεσμο</ulink> ή στο αρχείο COPYING-DOCS που διανεμήθηκε με αυτόν τον οδηγό.</para>
         <para>Αυτή η τεκμηρίωση είναι μέρος της συλλογής τεκμηρίωσης του GNOME όπως διανέμεται υπό τους όρους του GFDL. Εάν επιθυμείτε να διανείμετε αυτή την τεκμηρίωση ξεχωριστά από την συλλογή, μπορείτε να το κάνετε προσθέτοντας ένα αντίγραφο της άδειας στο εγχειρίδιο, όπως περιγράφεται στον τομέα 6 της άδειας.</para>

	<para>Πολλά από τα ονόματα που χρησιμοποιούνται από επιχειρήσεις για να διακρίνουν τα προϊόντα τους και τις υπηρεσίες αξιώνονται ως εμπορικά σήματα. Όπου εμφανίζονται αυτά τα ονόματα σε κάποια τεκμηρίωση του GNOME, και τα μέλη του έργου τεκμηρίωσης του GNOME γνωρίζουν για αυτά τα εμπορικά σήματα, τότε τα ονόματα είναι με κεφαλαία γράμματα ή με αρχικά κεφαλαία γράμματα.</para>

	<para>TΟ ΕΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΕΛΕΥΘΕΡΗΣ ΑΔΕΙΑΣ ΤΕΚΜΗΡΙΩΣΗΣ GNU ΜΕ ΤΙΣ ΕΠΙΠΛΕΟΝ ΓΝΩΣΤΟΠΟΙΗΣΕΙΣ: <orderedlist>
		<listitem>
		  <para>Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ ΚΑΝΕΝΟΣ ΕΙΔΟΥΣ, ΕΚΦΡΑΣΜΕΝΗ 'Η ΝΟΟΥΜΕΝΗ, ΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΕΓΓΥΗΣΕΩΝ ΟΤΙ ΤΟ ΕΓΓΡΑΦΟ 'Η ΠΑΡΑΛΛΑΓΕΣ ΤΟΥ ΕΓΓΡΑΦΟΥ ΕΙΝΑΙ ΕΛΕΥΘΕΡΑ ΚΑΘΕ ΕΛΑΤΤΩΜΑΤΟΣ, ΕΜΠΟΡΕΥΣΙΜΑ, ΚΑΤΑΛΛΗΛΑ ΓΙΑ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ, Η ΜΗ-ΠΑΡΑΒΑΙΝΟΝΤΑ. Η ΕΥΘΥΝΗ ΓΙΑ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΑΚΡΙΒΕΙΑ, ΚΑΙ ΑΠΟΔΟΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ ΕΙΝΑΙ ΑΠΟΚΛΕΙΣΤΙΚΑ ΔΙΚΗ ΣΑΣ. ΑΝ ΟΠΟΙΟΔΗΠΟΤΕ ΕΓΓΡΑΦΟ Η ΠΑΡΑΛΛΑΓΗ ΤΟΥΑΠΟΔΕΙΚΤΟΥΝ ΕΛΑΤΤΩΜΑΤΙΚΑ ΜΕ ΟΠΟΙΟΔΗΠΟΤΕ ΤΡΟΠΟ, ΕΣΕΙΣ (ΚΑΙ ΟΧΙ Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ 'Η ΟΠΟΙΟΣΔΗΠΟΤΕ ΣΥΜΒΑΛΛΟΝΤΑΣ) ΑΝΑΛΑΜΒΑΝΕΤΕ ΤΟ ΚΟΣΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΑΝΑΓΚΑΙΑΣ ΥΠΗΡΕΣΙΑΣ, ΕΠΙΣΚΕΥΗΣ 'Η ΔΙΟΡΘΩΣΗΣ. Η ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ ΠΟΥ ΣΥΝΟΔΕΥΕΙ ΑΥΤΗ ΤΗΝ ΤΕΚΜΗΡΙΩΣΗ ΕΙΝΑΙ ΑΝΑΠΟΣΠΑΣΤΟ ΚΟΜΜΑΤΙ ΑΥΤΗΣ. ΚΑΜΙΑ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ. ΚΑΙ</para>
		</listitem>
		<listitem>
		  <para>ΚΑΙ ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΣΕ ΚΑΜΙΑ ΝΟΜΟΛΟΓΙΑ ΑΣΤΙΚΟΥ ΑΔΙΚΗΜΑΤΟΣ (ΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ ΕΚΕΙΝΟΥ ΤΗΣ ΑΜΕΛΕΙΑΣ), ΣΥΜΒΟΛΑΙΟΥ Ή ΑΛΛΟΥ, Ο ΣΥΝΤΑΚΤΗΣ, Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΟΠΟΙΟΣΔΗΠΟΤΕ ΣΥΝΕΡΓΑΤΗΣ Ή ΟΠΟΙΟΣΔΗΠΟΤΕ ΔΙΑΝΟΜΕΑΣ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΤΟΥ ΕΓΓΡΑΦΟΥ, Ή ΟΠΟΙΣΔΗΠΟΤΕ ΠΡΟΜΗΘΕΥΤΗΣ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΚ ΤΩΝ ΑΝΩΤΕΡΩ ΠΡΟΣΩΠΩΝ ΕΙΝΑΙ ΥΠΕΥΘΥΝΟΣ ΕΝΑΝΤΙ ΟΙΟΥΔΗΠΟΤΕ ΠΡΟΣΩΠΟΥ ΓΙΑ ΟΠΟΙΑΔΗΠΟΤΕ ΑΜΕΣΗ, ΕΜΜΕΣΗ, ΙΔΙΑΙΤΗΕΡΗ, ΑΤΥΧΗ Ή ΣΥΝΕΠΑΓΟΜΕΝΗ ΒΛΑΒΗ ΟΙΟΥΔΗΠΟΤΕ ΧΑΡΑΚΤΗΡΑ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟΥΣ, ΒΛΑΒΕΣ ΕΞΑΙΤΙΑΣ ΑΠΩΛΕΙΑΣ ΠΕΛΑΤΕΙΑΣ, ΣΤΑΣΗ ΕΡΓΑΣΙΑΣ, ΑΣΤΟΧΙΑ Ή ΚΑΚΗ ΛΕΙΤΟΥΡΓΙΑ ΥΠΟΛΟΓΙΣΤΗ, Ή ΟΠΟΙΑΔΗΠΟΤΕ ΚΑΙ ΚΑΘΕ ΑΛΛΗ ΒΛΑΒΗ Ή ΑΠΩΛΕΙΑ ΠΟΥ ΘΑ ΕΓΕΙΡΕΙ Ή ΣΧΕΤΙΖΕΤΑΙ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ ΚΑΙ ΟΠΟΙΑΣΔΗΠΟΤΕ ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΤΟΥ ΕΓΓΡΑΦΟΥ, ΑΚΟΜΗ ΚΑΙ ΑΝ ΚΑΠΟΙΟ ΑΠΟ ΑΥΤΑ ΤΑ ΠΡΟΣΩΠΑ ΕΙΝΑΙ ΕΝΗΜΕΡΟ ΓΙΑ ΤΗΝ ΠΙΘΑΝΟΤΗΤΑ ΠΡΟΚΛΗΣΗΣ ΤΕΤΟΙΩΝ ΒΛΑΒΩΝ.</para>
		</listitem>
	  </orderedlist></para>
  </legalnotice>


   <!-- This file  contains link to license for the documentation (GNU FDL), and 
        other legal stuff such as "NO WARRANTY" statement. Please do not change 
	any of this. -->

    <authorgroup> 
      <author role="maintainer"> 
		<firstname>Jiří</firstname> 
		<surname>Lebl</surname> 
		<affiliation> 
	  		<orgname>Πανεπιστήμιο πολιτείας Οκλαχόμα</orgname> 
	  		<address> <email>jirka@5z.com</email> </address> 
		</affiliation> 
      </author> 
      <author> 
		<firstname>Kai</firstname> 
		<surname>Willadsen</surname> 
		<affiliation> 
	  		<orgname>Πανεπιστήμιο του Κουινσλάντ, Αυστραλία</orgname> 
	  		<address> <email>kaiw@itee.uq.edu.au</email> </address> 
		</affiliation> 
      </author> 
      
<!-- This is appropriate place for other contributors: translators,
     maintainers,  etc. Commented out by default.
     
      <othercredit role="translator">
		<firstname>Latin</firstname> 
		<surname>Translator 1</surname> 
		<affiliation> 
	  		<orgname>Latin Translation Team</orgname> 
	  		<address> <email>translator@gnome.org</email> </address> 
		</affiliation>
		<contrib>Latin translation</contrib>
      </othercredit>
-->
    </authorgroup>


<!-- According to GNU FDL, revision history is mandatory if you are -->
<!-- modifying/reusing someone else's document.  If not, you can omit it. -->
<!-- Remember to remove the &manrevision; entity from the revision entries other
-->
<!-- than the current revision. -->
<!-- The revision numbering system for GNOME manuals is as follows: -->
<!-- * the revision number consists of two components -->
<!-- * the first component of the revision number reflects the release version of the GNOME desktop. -->
<!-- * the second component of the revision number is a decimal unit that is incremented with each revision of the manual. -->
<!-- For example, if the GNOME desktop release is V2.x, the first version of the manual that -->
<!-- is written in that desktop timeframe is V2.0, the second version of the manual is V2.1, etc. -->
<!-- When the desktop release version changes to V3.x, the revision number of the manual changes -->
<!-- to V3.0, and so on. -->  
<!--  This is unmaintained quite a bit so screw this it just makes things
      ugly and we don't update the manrevision stuff anyway
    <revhistory>
      <revision> 
		<revnumber>&manrevision;</revnumber> 
		<date>&date;</date> 
		<revdescription> 
	  		<para role="author">Jiri (George) Lebl
	    	<email>jirka@5z.com</email>
	  		</para>
		</revdescription> 
      </revision> 
      <revision> 
		<revnumber>0.1</revnumber> 
		<date>September 2004</date> 
		<revdescription> 
	  		<para role="author">Kai Willadsen
	    	<email>kaiw@itee.uq.edu.au</email>
	  		</para>
		</revdescription> 
      </revision> 
      <revision> 
		<revnumber>Genius Calculator Manual</revnumber> 
		<date>August 2004</date> 
		<revdescription> 
	  		<para role="author">Jiri (George) Lebl
	    	<email>jirka@5z.com</email>
	  		</para>
		</revdescription> 
      </revision> 
    </revhistory> 
-->

    <revhistory>
      <revision> 
		<revnumber>0.2</revnumber> 
		<date>September 2014</date> 
		<revdescription> 
	  		<para role="author">Jiri (George) Lebl <email>jirka@5z.com</email></para>
		</revdescription> 
      </revision> 
    </revhistory>
    <releaseinfo>This manual describes version 1.0.19 of Genius.
    </releaseinfo> 
    <legalnotice> 
      <title>Aνάδραση</title> 
      <para>
	      To report a bug or make a suggestion regarding the <application>Genius Mathematics Tool</application>
	      application or this manual, please visit the
	      <ulink url="http://www.jirka.org/genius.html" type="http">Genius
		      Web page</ulink>
	      or email me at <email>jirka@5z.com</email>.
      </para>
<!-- Translators may also add here feedback address for translations -->
    </legalnotice> 
  </bookinfo> 

<!-- ============= Introduction =============================== -->
  <chapter id="genius-introduction"> 
    <title>Εισαγωγή</title> 
    <para>Η εφαρμογή <application>Εργαλείο μαθηματικών Genius</application> είναι μια γενική αριθμομηχανή για χρήση ως αριθμομηχανή επιφάνειας εργασίας, ένα εκπαιδευτικό εργαλείο στα μαθηματικά και είναι χρήσιμη ακόμα και για έρευνα. Η χρησιμοποιούμενη γλώσσα στο <application>εργαλείο μαθηματικών Genius</application> σχεδιάζεται για να είναι ‘μαθηματική’ με την έννοια ότι πρέπει να είναι ‘ότι εννοείτε είναι ότι παίρνετε’. Φυσικά αυτό δεν είναι ένας πλήρως εφικτός στόχος. Το <application>εργαλείο μαθηματικών Genius</application> παρουσιάζει ρητούς, ακέραιους τυχαίας ακρίβειας και αριθμούς κινητής υποδιαστολής πολλαπλής ακρίβειας χρησιμοποιώντας τη βιβλιοθήκη GMP. Διαχειρίζεται μιγαδικούς αριθμούς χρησιμοποιώντας καρτεσιανή σημειογραφία. Έχει καλή επεξεργασία διανυσμάτων και πινάκων και μπορεί να χειριστεί βασική γραμμική άλγεβρα. Η γλώσσα προγραμματισμού επιτρέπει στον χρήστη να ορίσει συναρτήσεις, μεταβλητές και τροποποιήσεις παραμέτρων.</para> 

    <para>Το <application>εργαλείο μαθηματικών Genius</application> έρχεται σε δύο εκδόσεις. Μια έκδοση είναι η γραφική έκδοση GNOME, που χαρακτηρίζει μια διεπαφή τεχνοτροπίας IDE και την ικανότητα να σχεδιάσει συναρτήσεις μιας ή δύο μεταβλητών. Η έκδοση γραμμής εντολών δεν απαιτεί το GNOME, αλλά φυσικά δεν υλοποιεί οποιοδήποτε γνώρισμα απαιτεί τη γραφική διεπαφή.</para> 

    <para>Αυτό το εγχειρίδιο περιγράφει κυρίως τη γραφική έκδοση της αριθμομηχανής, αλλά η γλώσσα είναι φυσικά η ίδια. Μόνο στην έκδοση της γραμμής εντολών λείπουν οι δυνατότητες γραφικών και όλες οι άλλες ικανότητες που απαιτούν την γραφική διεπαφή χρήστη.</para>

    <para>
	    Generally, when some feature of the language (function, operator, etc...)
	    is new is some version past 1.0.5, it is mentioned, but
	    below 1.0.5 you would have to look at the NEWS file.
    </para>

  </chapter>

<!-- =========== Getting Started ============================== -->
  <chapter id="genius-getting-started"> 
    <title>Ξεκίνημα</title> 

    <sect1 id="genius-to-start">
      <title>Για να ξεκινήσετε το <application>εργαλείο μαθηματικών Genius</application></title>
      <para>Μπορείτε να ξεκινήσετε το <application><application>Εργαλείο μαθηματικών Genius</application></application> με τους ακόλουθους τρόπους:</para> 
      <variablelist>
        <varlistentry>
          <term>Το μενού <guimenu>Εφαρμογές</guimenu></term>
          <listitem>
	    <para>Ανάλογα με το λειτουργικό σας σύστημα και την έκδοση, το στοιχείο μενού για το <application>Εργαλείο μαθηματικών Genius</application> μπορεί να εμφανιστεί σε διαφορετικές θέσεις. Μπορεί να είναι στο <guisubmenu>Εκπαίδευση</guisubmenu>, <guisubmenu>Βοηθήματα</guisubmenu>, <guisubmenu>Γραφείο</guisubmenu>, <guisubmenu>Επιστήμη</guisubmenu>, ή παρόμοια υπομενού, ανάλογα με την συγκεκριμένη διαμόρφωση. Το στοιχείου μενού που ψάχνετε είναι <guimenuitem>Εργαλείο μαθηματικών Genius</guimenuitem>. Μόλις το εντοπίσετε αυτό το στοιχείο μενού πατήστε το για να ξεκινήσετε το <application>Εργαλείο μαθηματικών Genius</application>.</para>
	      </listitem>
        </varlistentry>
        <varlistentry>
          <term>Ο διάλογος <guilabel>Εκτέλεση</guilabel></term>
          <listitem>
	    <para>Ανάλογα με την εγκατάσταση του συστήματός σας, το στοιχείο μενού μπορεί να μην είναι διαθέσιμο. Αν δεν είναι, μπορείτε να ανοίξετε τον διάλογο εκτέλεσης και να εκτελέσετε την <command>gnome-genius</command>.</para>
	      </listitem>
        </varlistentry>
        <varlistentry>
    	  <term>Γραμμή εντολών</term>
    	  <listitem>
    	    <para>Για να ξεκινήσετε την έκδοση GNOME του <application>Εργαλείο μαθηματικών Genius</application> εκτελέστε την <command>gnome-genius</command> από την γραμμή εντολών.</para>
	    <para>Για να ξεκινήσετε μόνο την έκδοση της γραμμής εντολών, εκτελέστε την ακόλουθη εντολή: <command>genius</command>. Αυτή η έκδοση δεν περιλαμβάνει το γραφικό περιβάλλον και κάποιες λειτουργίες όπως η σχεδίαση δεν θα είναι διαθέσιμες.</para> 
          </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

    <sect1 id="genius-when-start">
    <title>Όταν ξεκινάτε το Genius</title>
      <para>Όταν ξεκινάτε την έκδοση GNOME του <application>Εργαλείο μαθηματικών Genius</application>, το εικονιζόμενο παράθυρο στο <xref linkend="mainwindow-fig"/> εμφανίζεται.</para>

      <figure id="mainwindow-fig"> 
        <title>Το παράθυρο <application> Εργαλείο μαθηματικών Genius</application></title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/genius_window.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
	      <phrase>Εμφανίζει το κύριο παράθυρο <application>Εργαλείο μαθηματικών Genius</application>. Περιέχει γραμμή τίτλου, γραμμή μενού, εργαλειοθήκη και περιοχή εργασίας. Η γραμμή μενού περιέχει τα μενού <guilabel>Αρχείο</guilabel>, <guilabel>Επεξεργασία</guilabel>, <guilabel>Αριθμομηχανή</guilabel>, <guilabel>Ρυθμίσεις</guilabel> και <guilabel>Βοήθεια</guilabel>.</phrase> 
            </textobject> 
          </mediaobject>
        </screenshot> 
      </figure>

      <para>Το παράθυρο <application>Εργαλείο μαθηματικών Genius</application> περιέχει τα παρακάτω στοιχεία:</para>
      <variablelist>
        <varlistentry>
          <term>Γραμμή μενού.</term>
          <listitem>
            <para>Τα μενού στη γραμμή μενού περιέχουν όλες τις εντολές που χρειάζεστε για να δουλέψετε με αρχεία στο <application>Εργαλείο μαθηματικών Genius</application>. Το μενού <guilabel>Αρχείο</guilabel> περιέχει στοιχεία για φόρτωση και αποθήκευση στοιχείων καθώς και δημιουργία νέων προγραμμάτων. Η εντολή <guilabel>φόρτωση και εκτέλεση...</guilabel> δεν ανοίγει ένα νέο παράθυρο για το πρόγραμμα, αλλά απλά εκτελεί άμεσα το πρόγραμμα. Είναι ισοδύναμη με την εντολή <command>φόρτωση</command>.</para>
	    <para>Το μενού <guilabel>Αριθμομηχανή</guilabel> ελέγχει την αριθμομηχανή. Σας επιτρέπει να εκτελέσετε το τρέχον επιλεγμένο πρόγραμμα ή να διακόψετε τον τρέχοντα υπολογισμό. Μπορείτε επίσης να κοιτάξετε την πλήρη έκφραση της τελευταίας απάντησης (χρήσιμο αν η τελευταία απάντηση ήταν υπερβολικά μεγάλη για να προσαρμοστεί στην κονσόλα), ή μπορείτε να προβάλετε έναν κατάλογο των τιμών όλων των μεταβλητών που όρισε ο χρήστης. Τελικά επιτρέπει τη σχεδίαση συναρτήσεων χρησιμοποιώντας ένα εύχρηστο πλαίσιο διαλόγου.</para>
	   <para>Τα άλλα μενού έχουν τις ίδιες οικείες συναρτήσεις όπως στις άλλες εφαρμογές.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>Εργαλειοθήκη.</term>
          <listitem>
            <para>Η εργαλειοθήκη περιέχει ένα υποσύνολο των εντολών που μπορείτε να προσπελάσετε από τη γραμμή μενού.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>Περιοχή εργασίας</term>
          <listitem>
            <para>Η περιοχή εργασίας είναι η πρωτεύουσα μέθοδος αλληλεπίδρασης με την εφαρμογή.</para>
	    <para>Η περιοχή εργασίας αρχικά έχει μόνο την καρτέλα <guilabel>κονσόλα</guilabel>, που είναι ο κύριος τρόπος αλληλεπίδρασης με την αριθμομηχανή. Εδώ πληκτρολογείτε παραστάσεις και τα αποτελέσματα επιστρέφονται αμέσως μετά το πάτημα του πλήκτρου εισαγωγής.</para>
	    <para>Εναλλακτικά μπορείτε να γράψετε μεγαλύτερα προγράμματα και αυτά μπορούν να εμφανιστούν σε ξεχωριστές καρτέλες και μπορούν να αποθηκευτούν σε αρχεία για μεταγενέστερη ανάκτηση.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

  </chapter>

<!-- ================ Usage =================================== -->
  <chapter id="genius-usage"> 
    <title>Βασική χρήση</title> 

    <sect1 id="genius-usage-workarea"> 
      <title>Χρήση της περιοχής εργασίας</title> 

      <para>Κανονικά, αλληλεπιδράτε με την αριθμομηχανή στην καρτέλα <guilabel>κονσόλα</guilabel> της περιοχής εργασίας. Αν τρέχετε την κειμενική μόνο έκδοση, τότε η κονσόλα θα είναι το μόνο πράγμα που είναι διαθέσιμο σε σας. Αν θέλετε να χρησιμοποιήσετε το <application>Εργαλείο μαθηματικών Genius</application> ως αριθμομηχανή μόνο, πληκτρολογήστε απλά την παράστασή σας εδώ και η επιστρεφόμενη τιμή θα υπολογιστεί.</para>

      <para>Για να υπολογίσετε μια παράσταση, πληκτρολογήστε την στην περιοχή εργασίας <guilabel>κονσόλα</guilabel> και πατήστε το πλήκτρο εισαγωγής. Οι παραστάσεις είναι γραμμένες σε μια γλώσσα που λέγεται GEL. Η πιο απλή έκφραση GEL μοιάζει σαν μαθηματικά. Για παράδειγμα, <screen><prompt>genius&gt; </prompt><userinput>30*70 + 67^3.0 + ln(7) * (88.8/100)</userinput>
</screen> or <screen><prompt>genius&gt; </prompt><userinput>62734 + 812634 + 77^4 mod 5</userinput>
</screen> ή <screen><prompt>genius&gt; </prompt><userinput>| sin(37) - e^7 |</userinput>
</screen> ή <screen><prompt>genius&gt; </prompt><userinput>sum n=1 to 70 do 1/n</userinput>
</screen> (η τελευταία είναι το άθροισμα αρμονικών από 1 έως 70)</para>
<para>Για να πάρετε έναν κατάλογο συναρτήσεων και εντολών, πληκτρολογήστε: <screen><prompt>genius&gt; </prompt><userinput>help</userinput>
</screen> Αν θέλετε να πάρετε περισσότερη βοήθεια για μια συγκεκριμένη συνάρτηση, πληκτρολογήστε: <screen><prompt>genius&gt; </prompt><userinput>help FunctionName</userinput>
</screen> Για να προβάλετε αυτό το εγχειρίδιο, πληκτρολογήστε: <screen><prompt>genius&gt; </prompt><userinput>manual</userinput>
</screen></para>
<para>
Suppose you have previously saved some GEL commands as a program to a file and
you now want to execute them.
To load this program from the file <filename>path/to/program.gel</filename>,
type
<screen><prompt>genius&gt; </prompt><userinput>load path/to/program.gel</userinput>
</screen>
<application>Genius Mathematics Tool</application> keeps track of the current directory.
To list files in the current directory type <command>ls</command>, to change directory
do <userinput>cd directory</userinput> as in the UNIX command shell.
</para>
    </sect1>

    <sect1 id="genius-usage-create-program"> 
      <title>Για να δημιουργήσετε ένα νέο πρόγραμμα</title> 
      <para>Για να ξεκινήσετε τη συγγραφή ενός νέου προγράμματος, επιλέξτε <menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Νέο πρόγραμμα</guimenuitem></menuchoice>. Μια νέα καρτέλα θα εμφανιστεί στην περιοχή εργασίας. Μπορείτε να γράψετε ένα πρόγραμμα <link linkend="genius-gel">GEL</link> σε αυτήν την περιοχή εργασίας. Μόλις έχετε γράψει το πρόγραμμά σας μπορείτε να το εκτελέσετε με <menuchoice><guimenu>Αριθμομηχανή</guimenu><guimenuitem>Εκτέλεση</guimenuitem></menuchoice>. Αυτό θα εκτελέσει το πρόγραμμά σας και θα εμφανίσει οποιαδήποτε έξοδο στην καρτέλα <guilabel>Κονσόλα</guilabel>. Εκτελώντας ένα πρόγραμμα είναι ισοδύναμο με τη λήψη του κειμένου του προγράμματος και την πληκτρολόγηση του στην κονσόλα. Η μόνη διαφορά είναι ότι αυτή η είσοδος γίνεται ανεξάρτητα από την κονσόλα και απλά η έξοδος πηγαίνει στην κονσόλα. Η <menuchoice><guimenu>Αριθμομηχανή</guimenu><guimenuitem>εκτέλεση</guimenuitem></menuchoice> θα εκτελεί πάντα το τρέχον επιλεγμένο πρόγραμμα ακόμα κι αν είσαστε στην καρτέλα <guilabel>Κονσόλα</guilabel>. Το τρέχον επιλεγμένο πρόγραμμα έχει την καρτέλα του με έντονο τύπο. Για την επιλογή ενός προγράμματος, πατήστε απλά στην καρτέλα του.</para>
      <para>Για την αποθήκευση του προγράμματος που μόλις γράψατε, επιλέξτε <menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Αποθήκευση ως...</guimenuitem></menuchoice></para>
    </sect1>

    <sect1 id="genius-usage-open-program"> 
      <title>Για το άνοιγμα και την εκτέλεση ενός προγράμματος</title> 
      <para>Για να ανοίξετε ένα αρχείο, επιλέξτε <menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Άνοιγμα</guimenuitem></menuchoice>. Μια νέα καρτέλα που περιέχει το αρχείο θα εμφανιστεί στην περιοχή εργασίας. Μπορείτε να την χρησιμοποιήσετε για να επεξεργαστείτε το αρχείο.</para>
      <para>Για να εκτελέσετε ένα πρόγραμμα από ένα αρχείο, επιλέξτε <menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Φόρτωση και εκτέλεση...</guimenuitem></menuchoice>. Αυτό θα τρέξει το πρόγραμμα χωρίς να το ανοίξει σε ξεχωριστή καρτέλα. Αυτό είναι ισοδύναμο με την εντολή <command>φόρτωση</command>.</para>
    </sect1>

  </chapter>

  <!-- ============= Plotting ============================== -->
  <chapter id="genius-gel-plotting">
    <title>Γραφική παράσταση</title>

    <para>Η υποστήριξη σχεδίασης είναι διαθέσιμη μόνο στην γραφική έκδοση GNOME. Όλες οι προσβάσιμες σχεδιάσεις από τη γραφική διεπαφή είναι διαθέσιμες από το παράθυρο <guilabel>Δημιουργία σχεδίου</guilabel>. Μπορείτε να προσπελάσετε αυτό το παράθυρο είτε πατώντας στο κουμπί <guilabel>Γραφική παράσταση</guilabel> στην εργαλειοθήκη είτε επιλέγοντας <guilabel>Γραφική παράσταση</guilabel> από το μενού <guilabel>Αριθμομηχανή</guilabel>. Μπορείτε επίσης να προσπελάσετε τη λειτουργία γραφικής παράστασης χρησιμοποιώντας τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις σχεδίασης</link> της γλώσσας GEL. Δείτε <xref linkend="genius-gel"/> για να βρείτε πώς να εισάγετε εκφράσεις που καταλαβαίνει το Genius.</para>

    <sect1 id="genius-line-plots">
      <title>Γραμμικές γραφικές παραστάσεις</title>
      <para>Για να παραστήσετε με γραφικές παραστάσεις συναρτήσεις πραγματικών τιμών μιας μεταβλητής, ανοίξτε το παράθυρο <guilabel>Δημιουργία γραφικής παράστασης</guilabel>. Μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση <link linkend="gel-function-LinePlot"><function>LinePlot</function></link> στη γραμμή εντολών (δείτε την τεκμηρίωσή της).</para>
      <para>Μόλις πατήσετε το κουμπί <guilabel>Γραφική παράσταση</guilabel>, ανοίγει ένα παράθυρο με κάποια σημειωματάρια σε αυτό. Πρέπει να είσαστε στην καρτέλα σημειωματαρίου <guilabel>Συνάρτηση γραμμικής γραφικής παράστασης</guilabel> και μέσα σε αυτό να είσαστε στην καρτέλα σημειωματαρίου <guilabel>Συναρτήσεις / εκφράσεις</guilabel>. Δείτε <xref linkend="lineplot-fig"/>.</para>

      <figure id="lineplot-fig"> 
        <title>Δημιουργία παραθύρου γραφικής παράστασης</title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/line_plot.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
              <phrase>Εμφανίζει το παράθυρο γραμμικής γραφικής παράστασης.</phrase> 
            </textobject> 
          </mediaobject> 
        </screenshot> 
      </figure>

      <para>Πληκτρολογήστε τις εκφράσεις με <userinput>x</userinput> ως ανεξάρτητη μεταβλητή στα πλαίσια κειμένου. Εναλλακτικά μπορείτε να δώσετε τα ονόματα των συναρτήσεων όπως <userinput>cos</userinput> αντί να πρέπει να πληκτρολογήσετε <userinput>cos(x)</userinput>. Μπορείτε να παραστήσετε μέχρι δέκα συναρτήσεις. Αν κάνετε λάθος και το Genius δεν μπορεί να αναλύσει την είσοδο, θα το υποδείξει με ένα εικονίδιο προειδοποίησης στα δεξιά του πλαισίου εισόδου του κειμένου, όπου προέκυψε το σφάλμα, και θα σας δώσει έναν διάλογο σφάλματος. Μπορείτε να αλλάξετε τις περιοχές των εξαρτημένων και ανεξάρτητων μεταβλητών στο κάτω τμήμα του διαλόγου. Η <varname>y</varname> (εξαρτημένη) περιοχή μπορεί να οριστεί αυτόματα ενεργοποιώντας το πλαίσιο ελέγχου <guilabel>Προσαρμογή εξαρτημένου άξονα</guilabel>. Τα ονόματα των μεταβλητών μπορούν επίσης να αλλαχθούν. Πατώντας το κουμπί <guilabel>Γραφική παράσταση</guilabel> παράγει το γράφημα που εμφανίζεται στο <xref linkend="lineplot2-fig"/>.</para>

      <figure id="lineplot2-fig"> 
        <title>Παράθυρο γραφικής παράστασης</title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/line_plot_graph.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
              <phrase>Το γράφημα που παράχθηκε.</phrase> 
            </textobject> 
          </mediaobject> 
        </screenshot> 
      </figure>

      <para>Από εκεί μπορείτε να τυπώσετε τη γραφική παράσταση, να δημιουργήσετε ενθυλακωμένη postscript ή μια έκδοση PNG της γραφικής παράστασης ή να αλλάξετε την εστίαση. Αν ο εξαρτημένος άξονας δεν ορίστηκε σωστά, μπορείτε να κάνετε το Genius να τον προσαρμόσει, βρίσκοντας τα ακρότατα των συναρτήσεων γραφημάτων.</para>

      <para>Για τη σχεδίαση χρησιμοποιώντας τη γραμμή εντολών δείτε την τεκμηρίωση της συνάρτησης <link linkend="gel-function-LinePlot"><function>LinePlot</function></link>.</para>
    </sect1>

    <sect1 id="genius-parametric-plots">
      <title>Παραμετρικές γραφικές παραστάσεις</title>
      <para>Στο παράθυρο δημιουργίας γραφικών παραστάσεων, μπορείτε επίσης να επιλέξετε την καρτέλα σημειωματαρίου <guilabel>Παραμετρικά</guilabel> για να δημιουργήσετε παραμετρικές γραφικές παραστάσεις δύο διαστάσεων. Με αυτόν τον τρόπο μπορείτε να σχεδιάσετε μια συνάρτηση με μια μοναδική παράμετρο. Μπορείτε είτε να ορίσετε τα σημεία ως <varname>x</varname> και <varname>y</varname>, είτε να δώσετε έναν μοναδικό μιγαδικό αριθμό ως μια συνάρτηση της μεταβλητής <varname>t</varname>. Η περιοχή της μεταβλητής <varname>t</varname> δίνεται ρητά και η συνάρτηση παίρνει δείγματα σύμφωνα με τη δοσμένη αύξηση. Η περιοχή <varname>x</varname> και <varname>y</varname> μπορεί να οριστεί αυτόματα ενεργοποιώντας το πλαίσιο ελέγχου <guilabel>Προσαρμογή εξαρτημένου άξονα</guilabel>, ή μπορεί να οριστεί ρητά. Δείτε <xref linkend="paramplot-fig"/>.</para>

      <figure id="paramplot-fig"> 
        <title>Καρτέλα παραμετρικών γραφικών παραστάσεων</title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/parametric.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
              <phrase>Η καρτέλα παραμετρικών γραφικών παραστάσεων στο παράθυρο <guilabel>Δημιουργία γραφικής παράστασης</guilabel>.</phrase> 
            </textobject> 
          </mediaobject> 
        </screenshot> 
      </figure>

      <para>Ένα παράδειγμα των παραμετρικών γραφικών παραστάσεων δίνεται στο <xref linkend="paramplot2-fig"/>. Παρόμοιες πράξεις μπορούν να γίνουν σε τέτοια γραφήματα όπως μπορούν να γίνουν σε άλλες γραμμικές γραφικές παραστάσεις. Για σχεδίαση χρησιμοποιώντας τη γραμμή εντολών δείτε την τεκμηρίωση της συνάρτησης <link linkend="gel-function-LinePlotParametric"><function>LinePlotParametric</function></link> ή <link linkend="gel-function-LinePlotCParametric"><function>LinePlotCParametric</function></link>.</para>

      <figure id="paramplot2-fig"> 
        <title>Παραμετρικές γραφικές παραστάσεις</title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/parametric_graph.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
              <phrase>Παραγόμενη παραμετρική γραφική παράσταση</phrase> 
            </textobject> 
          </mediaobject> 
        </screenshot> 
      </figure>

    </sect1>

    <sect1 id="genius-slopefield-plots">
      <title>Γραφικές παραστάσεις πεδίου κλίσεων</title>
      <para>Στο παράθυρο δημιουργίας γραφικής παράστασης, μπορείτε επίσης να επιλέξετε την καρτέλα σημειωματαρίου <guilabel>πεδίου κλίσης</guilabel> για τη δημιουργία μιας δισδιάστατης γραφικής παράστασης πεδίου κλίσης. Παρόμοιες πράξεις μπορούν να γίνουν σε τέτοια γραφήματα όπως μπορούν να γίνουν στις άλλες γραμμικές γραφικές παραστάσεις. Για σχεδίαση χρησιμοποιώντας τη γραμμή εντολών δείτε την τεκμηρίωση της συνάρτησης <link linkend="gel-function-SlopefieldPlot"><function>SlopefieldPlot</function></link>.</para>

      <para>Όταν ένα πεδίο κλίσης είναι ενεργό, υπάρχει ένα πρόσθετο διαθέσιμο μενού <guilabel>επίλυσης</guilabel>, μέσα από το οποίο μπορείτε να εμφανίσετε τον διάλογο επίλυσης. Εδώ μπορείτε να έχετε συγκεκριμένες λύσεις για γραφικές παραστάσεις σε δεδομένες αρχικές συνθήκες. Μπορείτε είτε να ορίσετε εσωτερικές συνθήκες στον διάλογο, ή μπορείτε να πατήσετε στη γραφική παράσταση άμεσα για να ορίσετε το αρχικό σημείο. Ενώ ο διάλογος επίλυσης είναι ενεργός, η εστίαση πατώντας και μεταφέροντας δεν δουλεύει. Πρέπει να κλείσετε πρώτα τον διάλογο, αν θέλετε να εστιάσετε χρησιμοποιώντας το ποντίκι.</para>

      <para>Ο επιλύτης χρησιμοποιεί την τυπική μέθοδο Runge-Kutta. Οι γραφικές παραστάσεις θα μείνουν στην οθόνη μέχρι να καθαριστούν. Ο επιλύτης θα σταματήσει όποτε φτάσει στα όρια του παραθύρου σχεδίασης. Η εστίαση δεν αλλάζει τα όρια ή τις παραμέτρους των λύσεων, θα πρέπει να καθαρίσετε και να τις επανασχεδιάσετε με κατάλληλες παραμέτρους. Μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση <link linkend="gel-function-SlopefieldDrawSolution"><function>SlopefieldDrawSolution</function></link> για να σχεδιάσετε λύσεις από τη γραμμή εντολών ή προγραμμάτων.</para>

    </sect1>

    <sect1 id="genius-vectorfield-plots">
      <title>Γραφικές παραστάσεις διανυσματικού πεδίου</title>
      <para>Στο παράθυρο δημιουργίας γραφικής παράστασης, μπορείτε να επιλέξετε επίσης την καρτέλα σημειωματαρίου <guilabel>διανυσματικό πεδίο</guilabel> για να δημιουργήσετε μια δισδιάστατη γραφική παράσταση διανυσματικού πεδίου. Παρόμοιες λειτουργίες μπορούν να γίνουν σε τέτοια γραφήματα όπως μπορούν να γίνουν σε άλλες γραμμικές γραφικές παραστάσεις. Για σχεδίαση χρησιμοποιώντας τη γραμμή εντολών δείτε την τεκμηρίωση της συνάρτησης <link linkend="gel-function-VectorfieldPlot"><function>VectorfieldPlot</function></link>.</para>

      <para>Από προεπιλογή η κατεύθυνση και το μέγεθος του διανυσματικού πεδίου εμφανίζονται. Για να εμφανίσετε μόνο την κατεύθυνση και όχι το μέγεθος, σημειώστε το κατάλληλο πλαίσιο ελέγχου για να κανονικοποιήσετε τα μήκη των διανυσμάτων.</para>

      <para>Όταν ένα πεδίο κλίσης είναι ενεργό, υπάρχει ένα πρόσθετο διαθέσιμο μενού <guilabel>επιλύτη</guilabel>, μέσα από το οποίο μπορείτε να εμφανίσετε τον διάλογο επίλυσης. Εδώ μπορείτε να έχετε συγκεκριμένες λύσεις για γραφικές παραστάσεις σε δεδομένες αρχικές συνθήκες. Μπορείτε είτε να ορίσετε εσωτερικές συνθήκες στον διάλογο, ή μπορείτε να πατήσετε στη γραφική παράσταση άμεσα για να ορίσετε το αρχικό σημείο. Ενώ ο διάλογος επίλυσης είναι ενεργός, η εστίαση πατώντας και μεταφέροντας δεν δουλεύει. Πρέπει να κλείσετε πρώτα τον διάλογο, αν θέλετε να εστιάσετε χρησιμοποιώντας το ποντίκι.</para>

      <para>Ο επιλύτης χρησιμοποιεί την τυπική μέθοδο Runge-Kutta. Οι γραφικές παραστάσεις θα μείνουν στην οθόνη μέχρι να καθαριστούν. Η εστίαση δεν αλλάζει τα όρια ή τις παραμέτρους των λύσεων, θα πρέπει να καθαρίσετε και να τις επανασχεδιάσετε με κατάλληλες παραμέτρους. Μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση <link linkend="gel-function-VectorfieldDrawSolution"><function>VectorfieldDrawSolution</function></link> για να σχεδιάσετε λύσεις από τη γραμμή εντολών ή προγραμμάτων.</para>

    </sect1>

    <sect1 id="genius-surface-plots">
      <title>Γραφικές παραστάσεις επιφάνειας</title>
      <para>Η Genius μπορεί να σχεδιάσει επίσης επιφάνειες. Επιλέξτε την καρτέλα <guilabel>γραφική παράσταση επιφάνειας</guilabel> στο κύριο σημειωματάριο του παραθύρου <guilabel>Δημιουργία γραφικής παράστασης</guilabel>. Εδώ μπορείτε να ορίσετε μια μοναδική έκφραση που πρέπει να χρησιμοποιήσει είτε τις <varname>x</varname> και <varname>y</varname> ως πραγματικές ανεξάρτητες μεταβλητές ή την <varname>z</varname> ως μιγαδική μεταβλητή (όπου <varname>x</varname> είναι το πραγματικό τμήμα της <varname>z</varname> και <varname>y</varname> είναι το φανταστικό τμήμα). Για παράδειγμα για να σχεδιάσετε το μέτρο της συνάρτησης συνημιτόνου για μιγαδικές παραμέτρους, μπορείτε να εισάγετε <userinput>|cos(z)|</userinput>. Αυτό θα είναι ισοδύναμο με <userinput>|cos(x+1i*y)|</userinput>. Δείτε <xref linkend="surfaceplot-fig"/>. Για σχεδίαση χρησιμοποιώντας τη γραμμή εντολών, δείτε την τεκμηρίωση της συνάρτησης <link linkend="gel-function-SurfacePlot"><function>SurfacePlot</function></link>.</para>
      <para>Το πεδίο τιμών της <varname>z</varname> μπορεί να οριστεί αυτόματα ενεργοποιώντας το πλαίσιο ελέγχου <guilabel>Προσαρμογή εξαρτημένου άξονα</guilabel>.</para>

      <figure id="surfaceplot-fig"> 
        <title>Γραφικές παραστάσεις επιφάνειας</title> 
        <screenshot> 
          <mediaobject> 
            <imageobject>
              <imagedata fileref="figures/surface_graph.png" format="PNG" scalefit="1"/> 
            </imageobject>
            <textobject> 
              <phrase>Μέτρο της μιγαδικής συνάρτησης συνημιτόνου.</phrase> 
            </textobject> 
          </mediaobject> 
        </screenshot> 
      </figure>

    </sect1>

  </chapter>

  <!-- ============= GEL ====================================== -->
  <chapter id="genius-gel"> 
    <title>Βασικά της GEL</title> 

	<para>GEL σημαίνει γλώσσα επέκτασης Genius. Είναι η γλώσσα που χρησιμοποιείτε για να γράψετε προγράμματα στη Genius. Ένα πρόγραμμα στη GEL είναι απλά μια παράσταση που υπολογίζει έναν αριθμό. Το <application>Εργαλείο μαθηματικών Genius</application> μπορεί να χρησιμοποιηθεί ως μια απλή αριθμομηχανή, ή ως ένα ισχυρό θεωρητικό εργαλείο αναζήτησης. Η σύνταξη πρέπει να έχει όσο πιο ρηχή καμπύλη μάθησης γίνεται, ειδικά για χρήση ως αριθμομηχανή.</para>

    <sect1 id="genius-gel-values">
      <title>Τιμές</title>

      <para>Οι τιμές στην GEL μπορεί να είναι <link linkend="genius-gel-values-numbers">αριθμοί</link>, <link linkend="genius-gel-values-booleans">τιμές Μπουλ</link> ή <link linkend="genius-gel-values-strings">συμβολοσειρές</link>. Η GEL θεωρεί επίσης <link linkend="genius-gel-matrices">πίνακες</link> ως τιμές. Οι τιμές μπορεί να χρησιμοποιηθούν σε υπολογισμούς, εκχωρημένες σε μεταβλητές και να επιστραφούν από τις συναρτήσεις, μεταξύ άλλων χρήσεων.</para>

      <sect2 id="genius-gel-values-numbers">
        <title>Αριθμοί</title>
        <para>Οι ακέραιοι είναι ο πρώτος τύπος αριθμού στην GEL. Οι ακέραιοι γράφονται με τον κανονικό τρόπο. <programlisting>1234
</programlisting> Δεκαεξαδικοί και οκταδικοί αριθμοί μπορούν να γραφτούν χρησιμοποιώντας σημειογραφία C. Για παράδειγμα: <programlisting>0x123ABC
01234
</programlisting> Ή μπορείτε να πληκτρολογήσετε αριθμούς σε μια ελεύθερη βάση χρησιμοποιώντας <literal>&lt;base&gt;\&lt;number&gt;</literal>. Ψηφία μεγαλύτερα από 10 χρησιμοποιούν γράμματα με παρόμοιο τρόπο με τα δεκαεξαδικά. Για παράδειγμα, ένας αριθμός με βάση 23 πρέπει να γραφτεί: <programlisting>23\1234ABCD
</programlisting></para>

        <para>Ο δεύτερος τύπος αριθμού GEL είναι ρητοί. Οι ρητοί εκφράζονται διαιρώντας απλά δύο ακέραιους. Έτσι, κάποιος μπορεί να γράψει: <programlisting>3/4
</programlisting> για να πάρει τρία τέταρτα. Οι ρητοί δέχονται επίσης μικτή σημειογραφία κλάσματος. Έτσι, για να πάρετε ένα και τρία δέκατα μπορείτε να γράψετε: <programlisting>1 3/10
</programlisting></para>

        <para>Ο επόμενος τύπος αν είναι αριθμός είναι κινητής υποδιαστολής. Αυτοί καταχωρίζονται με παρόμοιο τρόπο με τη σημειογραφία C. Μπορείτε να χρησιμοποιήσετε <literal>E</literal>, <literal>e</literal> ή <literal>@</literal> ως τον οριοθέτη εκθέτη. Σημειώστε ότι η χρήση οριοθέτη εκθέτη δίνει έναν αριθμό κινητής υποδιαστολής ακόμα κι αν δεν υπάρχει δεκαδικό σημείο στον αριθμό. Παραδείγματα: <programlisting>1.315
7.887e77
7.887e-77
.3
0.3
77e5
</programlisting> Όταν η Genius εκτυπώνει έναν αριθμό κινητής υποδιαστολής θα προσαρτά πάντα ένα <computeroutput>.0</computeroutput> ακόμα κι αν ο αριθμός είναι ακέραιος. Αυτό είναι για να δείξει ότι οι αριθμοί κινητής υποδιαστολής παίρνονται ως ανακριβείς ποσότητες. Όταν ένας αριθμός γράφεται στην επιστημονική σημειογραφία, είναι πάντα κινητής υποδιαστολής και έτσι η Genius δεν τυπώνει το <computeroutput>.0</computeroutput>.</para>

        <para>Ο τελευταίος τύπος του αριθμού στο gel είναι οι μιγαδικοί αριθμοί. Μπορείτε να εισάγετε έναν μιγαδικό αριθμό ως άθροισμα πραγματικών και φανταστικών τμημάτων. Για να προσθέσετε ένα φανταστικό τμήμα, προσαρτήστε ένα <literal>i</literal>. Εδώ είναι παραδείγματα εισαγωγής μιγαδικών αριθμών: <programlisting>1+2i
8.01i
77*e^(1.3i)
</programlisting></para>

        <important>
          <para>Κατά την εισαγωγή φανταστικών αριθμών, ένας αριθμός πρέπει να είναι μπροστά από το <literal>i</literal>. Αν χρησιμοποιήσετε <literal>i</literal> αυτό καθεαυτό, η Genius θα το ερμηνεύσει ως αναφορά στη μεταβλητή <varname>i</varname>. Αν χρειάζεται να αναφέρετε το <literal>i</literal> αυτό καθεαυτό, χρησιμοποιήστε <literal>1i</literal> στη θέση του.</para>

          <para>Για να χρησιμοποιήσετε μικτή σημειογραφία κλάσματος με φανταστικούς αριθμούς, πρέπει να έχετε το μικτό κλάσμα σε παρενθέσεις. (δηλαδή, <userinput>(1 2/5)i</userinput>)</para>
        </important>

      </sect2>


      <sect2 id="genius-gel-values-booleans">
        <title>Τιμές Μπουλ</title>
        <para>Η Genius επίσης υποστηρίζει εγγενείς τιμές Μπουλ. Οι δύο σταθερές Μπουλ ορίζονται ως <constant>true</constant> και <constant>false</constant>· αυτά τα αναγνωριστικά μπορούν να χρησιμοποιηθούν όπως κάθε άλλη μεταβλητή. Μπορείτε επίσης να χρησιμοποιήσετε τα αναγνωριστικά <constant>True</constant>, <constant>TRUE</constant>, <constant>False</constant> και <constant>FALSE</constant> ως παραλλαγές για τα παραπάνω.</para>
        <para>Σε οποιαδήποτε θέση όπου αναμένεται παράσταση Μπουλ, μπορείτε να χρησιμοποιήσετε μια τιμή Μπουλ ή οποιαδήποτε παράσταση παράγει ή έναν αριθμό ή μια τιμή Μπουλ. Αν η Genius χρειάζεται να υπολογίσει έναν αριθμό ως τιμή Μπουλ θα ερμηνεύσει το 0 ως <constant>ψευδή</constant> και οποιοδήποτε άλλο αριθμό ως <constant>αληθή</constant>.</para>
        <para>Επιπλέον, μπορείτε να κάνετε αριθμητική με τιμές Μπουλ. Για παράδειγμα: <programlisting>( (1 + αληθές) - ψευδές ) * αληθές
</programlisting> είναι το ίδιο με: <programlisting>( (αληθές ή αληθές) ή όχι ψευδές ) και αληθές
</programlisting> Μόνο πρόσθεση, αφαίρεση και πολλαπλασιασμός υποστηρίζονται. Αν αναμείξετε αριθμούς με τιμές Μπουλ σε μια παράσταση, τότε οι αριθμοί μετατρέπονται σε τιμές Μπουλ όπως περιγράφεται παραπάνω. Αυτό σημαίνει ότι, για παράδειγμα: το <programlisting>1 == αληθές
</programlisting> πάντα αξιολογείται σε <constant>αληθές</constant> αφού το 1 θα μετατραπεί σε <constant>αληθές</constant> πριν συγκριθεί με το <constant>αληθές</constant>.</para>
      </sect2>


      <sect2 id="genius-gel-values-strings">
        <title>Συμβολοσειρές</title>
        <para>Όπως οι αριθμοί και οι τιμές Μπουλ, οι συμβολοσειρές στην GEL μπορούν να αποθηκευτούν ως τιμές μέσα σε μεταβλητές και να περάσουν σε συναρτήσεις. Μπορείτε επίσης να συνενώσετε μια συμβολοσειρά με μια άλλη τιμή χρησιμοποιώντας τον τελεστή συν. Για παράδειγμα: το <programlisting>a=2+3· "Το αποτέλεσμα είναι: "+a
</programlisting> θα δημιουργήσει τη συμβολοσειρά: <programlisting>Το αποτέλεσμα είναι: 5
</programlisting> Μπορείτε επίσης να χρησιμοποιήσετε τις ακολουθίες διαφυγής παρόμοιες με C όπως <literal>\n</literal>,<literal>\t</literal>,<literal>\b</literal>,<literal>\a</literal> και <literal>\r</literal>. Για να πάρετε ένα <literal>\</literal> or <literal>"</literal> μέσα στη συμβολοσειρά μπορείτε να βάλετε εισαγωγικά με ένα <literal>\</literal>. Για παράδειγμα: <programlisting>"Slash: \\ Quotes: \" Tabs: \t1\t2\t3"
</programlisting> θα κάνει μια συμβολοσειρά: <programlisting>Slash: \ Quotes: " Tabs: 	1	2	3
</programlisting> Σημειώστε, όμως, ότι όταν μια συμβολοσειρά επιστρέφεται από μια συνάρτηση, οι διαφυγές είναι σε εισαγωγικά, έτσι ώστε η έξοδος να μπορεί να χρησιμοποιηθεί ως είσοδος. Αν θέλετε να εκτυπώσετε τη συμβολοσειρά όπως είναι (χωρίς διαφυγές), χρησιμοποιήστε τις συναρτήσεις <link linkend="gel-function-print"><function>print</function></link> ή <link linkend="gel-function-printn"><function>printn</function></link>.</para>
        <para>Επιπλέον, μπορείτε να χρησιμοποιήσετε τη συνάρτηση βιβλιοθήκης <link linkend="gel-function-string"><function>string</function></link> για να μετατρέψετε ο,τιδήποτε σε μια συμβολοσειρά. Για παράδειγμα: το <programlisting>string(22)
</programlisting> θα επιστρέψει <programlisting>"22"
</programlisting> Οι συμβολοσειρές μπορούν επίσης να συγκριθούν με τελεστές <literal>==</literal> (ίσον), <literal>!=</literal> (όχι ίσο) και <literal>&lt;=&gt;</literal> (σύγκρισης)</para>
      </sect2>


      <sect2 id="genius-gel-values-null">
        <title>Null</title>
        <para>
There is a special value called
<constant>null</constant>. No operations can be performed on
it, and nothing is printed when it is returned. Therefore,
<constant>null</constant> is useful when you do not want output from an
expression.  The value <constant>null</constant> can be obtained as an expression when you
type <literal>.</literal>, the constant <constant>null</constant> or nothing.
By nothing we mean that if you end an expression with
a separator <literal>;</literal>, it is equivalent to ending it with a
separator followed by a <constant>null</constant>.
        </para>
        <para>Παράδειγμα: <programlisting>x=5;.
x=5;
</programlisting></para>
<para>Κάποιες συναρτήσεις επιστρέφουν <constant>null</constant>, όταν καμιά τιμή δεν μπορεί να επιστραφεί ή όταν συμβαίνει ένα σφάλμα. Επίσης η <constant>null</constant> χρησιμοποιείται ως ένα κενό διάνυσμα ή πίνακας, ή μια κενή αναφορά.</para>
      </sect2>

    </sect1>

    <sect1 id="genius-gel-variables">
      <title>Χρήση μεταβλητών</title>

      <para>Σύνταξη: <programlisting>VariableName
</programlisting> Παράδειγμα: <screen><prompt>genius&gt; </prompt><userinput>e</userinput>
=2.71828182846
</screen></para>

      <para>Για να αξιολογηθεί μια μεταβλητή αυτή καθεαυτή, εισάγετε απλώς το όνομα της μεταβλητής. Αυτή θα επιστρέψει την τιμή της μεταβλητής. Μπορείτε να χρησιμοποιήσετε μια μεταβλητή οπουδήποτε θα μπορούσατε κανονικά να χρησιμοποιήσετε έναν αριθμό ή την συμβολοσειρά. Επιπλέον, οι μεταβλητές είναι απαραίτητες όταν ορίζονται συναρτήσεις που παίρνουν ορίσματα (δείτε <xref linkend="genius-gel-functions-defining"/>).</para>

      <tip>
        <title>Χρήση συμπλήρωσης καρτέλας</title>
        <para>Μπορείτε να χρησιμοποιήσετε την συμπλήρωση καρτέλας για να πάρετε την Genius για να συμπληρωθούν τα ονόματα των μεταβλητών για σας. Δοκιμάστε την πληκτρολόγηση των πρώτων λίγων γραμμάτων του ονόματος και πατήστε <userinput>καρτέλα</userinput>.</para>
      </tip>

      <important>
        <title>Τα ονόματα των μεταβλητών είναι με διάκριση πεζών/κεφαλαίων</title>
        <para>Τα ονόματα των μεταβλητών είναι με διάκριση πεζών/κεφαλαίων. Αυτό σημαίνει ότι οι μεταβλητές με όνομα <varname>hello</varname>, <varname>HELLO</varname> and <varname>Hello</varname> είναι όλες διαφορετικές μεταβλητές.</para>
      </important>


      <sect2 id="genius-gel-variables-setting">
        <title>Ορισμός μεταβλητών</title>
        <para>Σύνταξη: <programlisting><![CDATA[<identifier> = <value>
<identifier> := <value>]]>
</programlisting> Παράδειγμα: <programlisting>x = 3
x := 3
</programlisting></para>

        <para>Για εκχώρηση σε μια μεταβλητή, χρησιμοποιήστε τους τελεστές <literal>=</literal> ή <literal>:=</literal>. Αυτοί οι τελεστές ορίζουν την τιμή της μεταβλητής και επιστρέφουν την τιμή που ορίσατε, έτσι μπορείτε να κάνετε πράγματα όπως <programlisting>a = b = 5
</programlisting> Αυτό θα ορίσει το <varname>b</varname> σε 5 και μετά ορίζει επίσης το <varname>a</varname> σε 5.</para>

        <para>Οι τελεστές <literal>=</literal> και <literal>:=</literal> μπορούν να χρησιμοποιηθούν και οι δύο για να ορίσουν μεταβλητές. Η διαφορά μεταξύ τους είναι ότι ο τελεστής <literal>:=</literal> δρα πάντα ως μια ανάθεση τελεστή, ενώ ο τελεστής <literal>=</literal> μπορεί να ερμηνευτεί ως δοκιμή για ισότητα όταν χρησιμοποιείται σε ένα περιεχόμενο όπου μια παράσταση τιμής Μπουλ αναμένεται.</para>

	<para>Για περισσότερες πληροφορίες σχετικά με την εμβέλεια των μεταβλητών, δηλαδή, πότε είναι ορατές οι μεταβλητές, δείτε <xref linkend="genius-gel-variables-global"/>.</para>
      </sect2>

      <sect2 id="genius-gel-variables-built-in">
        <title>Ενσωματωμένες μεταβλητές</title>
        <para>Η GEL έχει έναν αριθμό από ενσωματωμένες ‘μεταβλητές’, όπως <varname>e</varname>, <varname>pi</varname> ή <varname>GoldenRatio</varname>. Αυτές είναι πλατιά χρησιμοποιούμενες σταθερές με μια προκαθορισμένη τιμή και δεν μπορούν να εκχωρηθούν σε αυτές νέες τιμές. Υπάρχει ένας αριθμός από άλλες ενσωματωμένες μεταβλητές. Δείτε <xref linkend="genius-gel-function-list-constants"/> για έναν πλήρη κατάλογο. Σημειώστε ότι το <varname>i</varname> δεν είναι από προεπιλογή η τετραγωνική ρίζα αρνητικού (ο φανταστικός αριθμός) και είναι αόριστο. Αν θέλετε να γράψετε τον φανταστικό αριθμό χρειάζεται να χρησιμοποιήσετε <userinput>1i</userinput>.</para>
      </sect2>


      <sect2 id="genius-gel-previous-result">
        <title>Προηγούμενη μεταβλητή αποτελέσματος</title>
        <para>Οι μεταβλητές <varname>Ans</varname> και <varname>ans</varname> μπορούν να χρησιμοποιηθούν για να πάρετε το αποτέλεσμα της τελευταίας παράστασης. Για παράδειγμα, αν έχετε εκτελέσει κάποιο υπολογισμό, για να προσθέσετε το 389 στο αποτέλεσμα μπορείτε να κάνετε: <programlisting>Ans+389
</programlisting></para>
      </sect2>
    </sect1>

    <sect1 id="genius-gel-functions">
      <title>Χρησιμοποίηση συναρτήσεων</title>

      <para>Σύνταξη: <programlisting>FunctionName(όρισμα1, όρισμα2, ...)
</programlisting> Παράδειγμα: <programlisting>Factorial(5)
cos(2*pi)
gcd(921,317)
</programlisting> Για να αξιολογήσετε μια συνάρτηση, εισάγετε το όνομα της συνάρτησης, που ακολουθείται από τα ορίσματα (αν υπάρχουν) της συνάρτησης σε παρενθέσεις. Αυτό θα επιστρέψει το αποτέλεσμα της εφαρμογής της συνάρτησης στα ορίσματά της. Ο αριθμός των ορισμάτων στη συνάρτηση είναι, φυσικά, διαφορετικός για κάθε συνάρτηση.</para>

      <para>Υπάρχουν πολλές ενσωματωμένες συναρτήσεις, όπως οι <link linkend="gel-function-sin"><function>sin</function></link>, <link linkend="gel-function-cos"><function>cos</function></link> και <link linkend="gel-function-tan"><function>tan</function></link>. Μπορείτε να χρησιμοποιήσετε την ενσωματωμένη εντολή <link linkend="gel-command-help"><function>help</function></link> για να πάρετε έναν κατάλογο διαθέσιμων συναρτήσεων, ή δείτε <xref linkend="genius-gel-function-list"/> για έναν πλήρη κατάλογο.</para>

      <tip>
        <title>Χρήση συμπλήρωσης καρτέλας</title>
        <para>Μπορείτε να χρησιμοποιήσετε την συμπλήρωση καρτέλας για να βάλετε την Genius να συμπληρώσει τα ονόματα των συναρτήσεων για σας. Δοκιμάστε την πληκτρολόγηση των πρώτων λίγων γραμμάτων του ονόματος και πατήστε <userinput>Καρτέλα</userinput>.</para>
      </tip>

      <important>
        <title>Τα ονόματα των συναρτήσεων είναι με διάκριση πεζών/κεφαλαίων</title>
        <para>Τα ονόματα των συναρτήσεων είναι με διάκριση πεζών/κεφαλαίων. Αυτό σημαίνει ότι οι συναρτήσεις με όνομα <function>dosomething</function>, <function>DOSOMETHING</function> και <function>DoSomething</function> είναι όλες διαφορετικές συναρτήσεις.</para>
      </important>


      <sect2 id="genius-gel-functions-defining">
        <title>Ορισμός συναρτήσεων</title>
        <para>Σύνταξη: <programlisting><![CDATA[function <identifier>(<comma separated arguments>) = <function body>
<identifier> = (`() = <function body>)
]]></programlisting> Το <literal>`</literal> είναι ο χαρακτήρας ` και υποδηλώνει μια ανώνυμη συνάρτηση. Ορίζοντας την σε ένα όνομα μεταβλητής την ορίζετε αποτελεσματικά ως συνάρτηση.</para>

        <para>Μια συνάρτηση παίρνει μηδέν ή περισσότερα ορίσματα που χωρίζονται με κόμμα και επιστρέφει το αποτέλεσμα του σώματος της συνάρτησης. Ορίζοντας τις δικές σας συναρτήσεις είναι κυρίως ένα θέμα ευκολίας· μια πιθανή χρήση είναι να βάλετε σύνολα συναρτήσεων που ορίστηκαν στα αρχεία GEL, τα οποία η Genius μπορεί να φορτώσει για να τα κάνει διαθέσιμα. Παράδειγμα: <programlisting>function addup(a,b,c) = a+b+c
</programlisting> έπειτα <userinput>addup(1,4,9)</userinput> δίνει 14</para>
      </sect2>

      <sect2 id="genius-gel-functions-variable-argument-lists">
        <title>Κατάλογοι ορισμάτων μεταβλητής</title>
        <para>Αν συμπεριλάβετε <literal>...</literal> μετά το τελευταίο όνομα ορίσματος στη δήλωση συνάρτησης, τότε η Genius θα επιτρέψει οποιονδήποτε αριθμό ορισμάτων να περαστεί επί τόπου σε αυτό το όρισμα. Αν δεν περαστούν ορίσματα τότε αυτό το όρισμα θα οριστεί σε <constant>null</constant>. Αλλιώς, θα είναι οριζόντιο διάνυσμα που περιέχει όλα τα ορίσματα. Για παράδειγμα: <programlisting>function f(a,b...) = b
</programlisting> Τότε το <userinput>f(1,2,3)</userinput> δίνει <computeroutput>[2,3]</computeroutput>, ενώ <userinput>f(1)</userinput> δίνει <constant>null</constant>.</para>
      </sect2>


      <sect2 id="genius-gel-functions-passing-functions">
        <title>Πέρασμα συναρτήσεων σε συναρτήσεις</title>

        <para>Στο Genius, είναι δυνατό να περάσετε μια συνάρτηση ως ένα όρισμα σε μια άλλη συνάρτηση. Αυτό μπορεί να γίνει χρησιμοποιώντας είτε ‘κόμβους συνάρτησης’ ή ανώνυμες συναρτήσεις.</para>

        <para>Αν δεν εισάγετε τις παρενθέσεις μετά από ένα όνομα συνάρτησης, αντί να αξιολογηθεί, η συνάρτηση θα επιστραφεί στη θέση της ως ‘κόμβος συνάρτησης’. Ο κόμβος συνάρτησης μπορεί τότε να περαστεί σε μια άλλη συνάρτηση. Παράδειγμα: <programlisting>function f(a,b) = a(b)+1;
function b(x) = x*x;
f(b,2)
</programlisting></para>
        <para>Για να περάσετε συναρτήσεις που δεν ορίζονται, μπορείτε να χρησιμοποιήσετε μια ανώνυμη συνάρτηση (δείτε <xref linkend="genius-gel-functions-defining"/>). Δηλαδή, αν θέλετε να περάσετε μια συνάρτηση χωρίς να της δώσετε ένα όνομα. Σύνταξη: <programlisting><![CDATA[function(<comma separated arguments>) = <function body>
`(<comma separated arguments>) = <function body>
]]></programlisting> Παράδειγμα: <programlisting>function f(a,b) = a(b)+1;
f(`(x) = x*x,2)
</programlisting> Αυτό θα επιστρέψει 5.</para>
      </sect2>


    <sect2 id="genius-gel-functions-operations">
      <title>Πράξεις σε συναρτήσεις</title>
      <para>Κάποιες συναρτήσεις επιτρέπουν αριθμητικές πράξεις και κάποιες συναρτήσεις μοναδικού ορίσματος όπως <link linkend="gel-function-exp"><function>exp</function></link> ή <link linkend="gel-function-ln"><function>ln</function></link>, λειτουργούν στη συνάρτηση. Για παράδειγμα, η <programlisting>exp(sin*cos+4)
</programlisting> θα επιστρέψει μια συνάρτηση που παίρνει <varname>x</varname> και επιστρέφει <userinput>exp(sin(x)*cos(x)+4)</userinput>. Είναι ισοδύναμη λειτουργικά με την πληκτρολόγηση <programlisting>`(x) = exp(sin(x)*cos(x)+4)
</programlisting> Αυτή η πράξη μπορεί να είναι χρήσιμη, όταν ορίζετε γρήγορα συναρτήσεις. Για παράδειγμα για να δημιουργήσετε μια συνάρτηση που λέγεται <varname>f</varname> για να εκτελέσετε την παραπάνω πράξη, μπορείτε να πληκτρολογήσετε απλά: <programlisting>f = exp(sin*cos+4)
</programlisting> Μπορεί επίσης να χρησιμοποιηθεί στη σχεδίαση. Για παράδειγμα, για να σχεδιάσετε τετράγωνο ημιτόνου μπορείτε να εισάγετε: <programlisting>LinePlot(sin^2)
</programlisting></para>

      <warning>
        <para>Δεν μπορούν όλες οι συναρτήσεις να χρησιμοποιηθούν κατ' αυτόν τον τρόπο. Για παράδειγμα, όταν χρησιμοποιείτε μια δυαδική πράξη οι συναρτήσεις πρέπει να παίρνουν τον ίδιο αριθμό ορισμάτων.</para>
      </warning>
    </sect2>


    </sect1>

    <sect1 id="genius-gel-absolute-value-modulus">
      <title>Aπόλυτη τιμή / Μέτρο</title>
      <para>Μπορείτε να κάνετε μια απόλυτη τιμή από κάτι βάζοντας γύρω του το <literal>|</literal>. Για παράδειγμα: <programlisting>|a-b|</programlisting></para>
<para>Στην περίπτωση που η παράσταση είναι ένας μιγαδικός αριθμός το αποτέλεσμα θα είναι το μέτρο (απόσταση από τον αρχικό). Για παράδειγμα: <userinput>|3 * e^(1i*pi)|</userinput> επιστρέφει 3.</para>
    </sect1>

    <sect1 id="genius-gel-separator">
      <title>Διαχωριστικό</title>
      <para>Στη GEL, αν θέλετε να πληκτρολογήσετε περισσότερες από μία εντολές πρέπει να χρησιμοποιήσετε τον τελεστή <literal>;</literal>, που είναι ένας τρόπος να ξεχωρίσετε παραστάσεις, όπως μια σύνθετη παράσταση θα επιστρέψει οποιοδήποτε είναι το αποτέλεσμα της τελευταίας, έτσι ας υποθέσουμε ότι πληκτρολογείτε τα παρακάτω: <programlisting>3 ; 5
</programlisting> Αυτή η έκφραση θα δώσει 5.</para>
      <para>Αυτό θα απαιτήσει να βάλετε κάποιες παρενθέσεις για να το κάνει σαφές μερικές φορές, ειδικά αν το <literal>;</literal> δεν είναι το αρχικό. Αυτό διαφέρει λίγο από άλλες προγραμματιστικές γλώσσες όπου το <literal>;</literal> είναι ο τερματιστής των δηλώσεων, ενώ η GEL είναι στην πραγματικότητα ένας δυαδικός τελεστής. Αν είσαστε εξοικειωμένοι με την pascal αυτό πρέπει να είναι δεύτερη φύση. Όμως η Genius μπορεί να σας επιτρέψει να προσποιηθείτε ότι είναι ένας τερματιστής κάπως, αν το <literal>;</literal> βρεθεί στο τέλος μιας παρένθεσης ή μιας ομάδας, η Genius θα προσαρτήσει αυτή καθεαυτή έναν κόμβο null σε αυτή σαν να είχατε γράψει <userinput>;null</userinput>. Αυτό είναι χρήσιμο σε περίπτωση που δεν θέλετε να επιστρέψετε μια τιμή από, ας πούμε, έναν βρόχο, ή αν χειριζόσαστε την επιστροφή διαφορετικά. Σημειώστε ότι θα επιβραδύνει λίγο τον κώδικα αν εκτελείται υπερβολικά συχνά καθώς υπάρχει ένας περισσότερος τελεστής που υπεισέρχεται.</para>
    </sect1>

    <sect1 id="genius-gel-comments">
      <title>Σχόλια</title>
      <para>Η GEL είναι παρόμοια με άλλες γλώσσες σεναρίων στο ότι το <literal>#</literal> δηλώνει σχόλια, που είναι κείμενο που δεν αξιολογείται. Ο,τιδήποτε πέρα από το σύμβολο της δίεσης μέχρι το τέλος της γραμμής αγνοείται. Έτσι <programlisting># Αυτό είναι απλώς ένα σχόλιο
# κάθε γραμμή σε ένα σχόλιο πρέπει να έχει το δικό της σύμβολο δίεσης
# στην επόμενη γραμμή ορίζουμε το x στην τιμή 123
x=123;
</programlisting></para>
    </sect1>

    <sect1 id="genius-gel-modular-evaluation">
      <title>Μετρικός υπολογισμός</title>
      <para>
	      Genius implements modular arithmetic.
To use it you just add "mod &lt;integer&gt;" after
the expression.  Example:
<programlisting>2^(5!) * 3^(6!) mod 5</programlisting>
It could be possible to do modular arithmetic by computing with integers and then modding in the end with
the <literal>%</literal> operator, which simply gives the remainder, but
that may be time consuming if not impossible when working with larger numbers.
For example, <userinput>10^(10^10) % 6</userinput> will simply not work (the exponent
will be too large), while
<userinput>10^(10^10) mod 6</userinput> is instantaneous.  The first expression first tries to compute the integer
<userinput>10^(10^10)</userinput> and then find remainder after division by 6, while the second expression evaluates
everything modulo 6 to begin with.
      </para>
      <para>Μπορείτε να υπολογίσετε τους αντίστροφους των αριθμών mod μερικών ακέραιων χρησιμοποιώντας απλά ρητούς αριθμούς (φυσικά ο αντίστροφος πρέπει να υπάρχει). Παραδείγματα: <programlisting>10^-1 mod 101
1/10 mod 101</programlisting> Μπορείτε επίσης να κάνετε υπολογισμό υπολοίπων με πίνακες που συμπεριλαμβάνουν λήψη αντίστροφων, δυνάμεων και διαίρεση. Παράδειγμα: <programlisting>A = [1,2;3,4]
B = A^-1 mod 5
A*B mod 5</programlisting> Αυτό πρέπει να δίνει τον μοναδιαίο πίνακα ως Β που θα είναι ο αντίστροφος του Α mod 5.</para>
      <para>Μερικές συναρτήσεις όπως <link linkend="gel-function-sqrt"><function>sqrt</function></link> ή <link linkend="gel-function-log"><function>log</function></link> δουλεύουν διαφορετικά όταν είναι κατάσταση σε modulo. Αυτές τότε δουλεύουν όπως οι διακριτές εκδόσεις που δουλεύουν μέσα στον δακτύλιο των ακεραίων που επιλέξατε. Για παράδειγμα: η <programlisting>genius&gt; sqrt(4) mod 7
=
[2, 5]
genius&gt; 2*2 mod 7
= 4</programlisting><function>sqrt</function> θα επιστρέψει στην πραγματικότητα όλες τις πιθανές τετραγωνικές ρίζες.</para>
      <para>Μην συνδέετε τελεστές mod, απλά τοποθετήστε τους στο τέλος του υπολογισμού, όλοι οι υπολογισμοί στην παράσταση στα αριστερά θα εκτελεστούν σε αριθμητική mod. Αν βάλετε μια mod μέσα σε μια mod, θα πάρετε απροσδόκητα αποτελέσματα. Αν θέλετε απλά να πάρετε υπόλοιπο ενός απλού αριθμού και να ελέγξετε ακριβώς πότε παίρνονται υπόλοιπα, καλύτερα να χρησιμοποιήσετε τον τελεστή <literal>%</literal>. Όταν χρειάζεται να συνδέσετε αρκετές παραστάσεις σε αριθμητική υπολοίπων με διαφορετικούς διαιρέτες, μπορεί να είναι καλύτερο να χωρίσετε απλά την παράσταση σε αρκετές και να χρησιμοποιήσετε προσωρινές μεταβλητές για να αποφύγετε ένα mod μέσα σε ένα mod.</para>
    </sect1>

    <sect1 id="genius-gel-operator-list">
      <title>Κατάλογος τελεστών GEL</title>

      <para>Όλα στην gel είναι στην πραγματικότητα απλά μια παράσταση. Οι παραστάσεις συνδέονται μαζί με διαφορετικούς τελεστές. Όπως έχουμε δει, ακόμα και ένα διαχωριστικό είναι απλά ένας δυαδικός τελεστής στη GEL. Ιδού ένας κατάλογος τελεστών στη GEL.</para>

      <variablelist>
        <varlistentry>
         <term><userinput>a;b</userinput></term>
         <listitem>
           <para>Το διαχωριστικό, δίνει και την <varname>a</varname> και την <varname>b</varname>, αλλά επιστρέφει μόνο το αποτέλεσμα της <varname>b</varname>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a=b</userinput></term>
         <listitem>
           <para>Ο τελεστής ανάθεσης. Αυτός αναθέτει τη <varname>b</varname> στη <varname>a</varname> (η <varname>a</varname> πρέπει να είναι μια έγκυρη <link linkend="genius-gel-lvalues">lvalue</link>) (σημειώστε όμως ότι αυτός ο τελεστής μπορεί να μεταφραστεί σε <literal>==</literal> αν χρησιμοποιηθεί σε μια θέση όπου αναμένεται παράσταση τιμής Μπουλ)</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a:=b</userinput></term>
         <listitem>
           <para>Ο τελεστής ανάθεσης. Εκχωρεί την <varname>b</varname> στην <varname>a</varname> (η <varname>a</varname> πρέπει να είναι μια έγκυρη <link linkend="genius-gel-lvalues">lvalue</link>). Αυτός είναι διαφορετικός από τον <literal>=</literal>, επειδή δεν μεταφράζεται ποτέ σε μια <literal>==</literal>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>|a|</userinput></term>
         <listitem>
           <para>Απόλυτη τιμή ή μέτρο (αν η <varname>a</varname> είναι ένας μιγαδικός αριθμός).</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/AbsoluteValue.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a^b</userinput></term>
         <listitem>
           <para>Εκθετοποίηση, ανυψώνει μια <varname>a</varname> στη δύναμη <varname>b</varname>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a.^b</userinput></term>
         <listitem>
           <para>Εκθετοποίηση στοιχείου κατά στοιχείο. Ανυψώνει κάθε στοιχείο ενός πίνακα <varname>a</varname> στη δύναμη <varname>b</varname>. Ή αν η <varname>b</varname> είναι ένας πίνακας του ίδιου μεγέθους όπως η <varname>a</varname>, τότε κάνει την πράξη στοιχείο κατά στοιχείο. Αν η <varname>a</varname> είναι ένας αριθμός και η <varname>b</varname> είναι ένας πίνακας, τότε δημιουργεί έναν πίνακα του ίδιου μεγέθους όπως η <varname>b</varname> με τη <varname>a</varname> υψωμένη σε όλες τις διαφορετικές δυνάμεις στην <varname>b</varname>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a+b</userinput></term>
         <listitem>
           <para>Πρόσθεση. Προσθέτει δύο αριθμούς, πίνακες, συναρτήσεις ή συμβολοσειρές. Αν προσθέτετε μια συμβολοσειρά σε ο,τιδήποτε το αποτέλεσμα θα είναι απλά μια συμβολοσειρά. Αν ο ένας είναι ένας τετραγωνικός πίνακας και ο άλλος ένας αριθμός, τότε ο αριθμός πολλαπλασιάζεται με τον ταυτοτικό πίνακα.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a-b</userinput></term>
         <listitem>
           <para>Αφαίρεση. Αφαιρεί δύο αριθμούς, πίνακες ή συναρτήσεις.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a*b</userinput></term>
         <listitem>
           <para>Πολλαπλασιασμός. Αυτός είναι ο κανονικός πίνακας πολλαπλασιασμού.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a.*b</userinput></term>
         <listitem>
           <para>Πολλαπλασιασμός στοιχείο με στοιχείο αν οι <varname>a</varname> και <varname>b</varname> είναι πίνακες.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a/b</userinput></term>
         <listitem>
           <para>Διαίρεση. Όταν οι <varname>a</varname> και <varname>b</varname> είναι μόνο αριθμοί, αυτή είναι η κανονική διαίρεση. Όταν είναι πίνακες, τότε αυτή είναι ισοδύναμη με <userinput>a*b^-1</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a./b</userinput></term>
         <listitem>
           <para>
		   Element by element division.  Same as <userinput>a/b</userinput> for
		   numbers, but operates element by element on matrices.
           </para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a\b</userinput></term>
         <listitem>
           <para>Οπίσθια διαίρεση. Είναι η ίδια με <userinput>b/a</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a.\b</userinput></term>
         <listitem>
           <para>Οπίσθια διαίρεση στοιχείου με στοιχείο.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a%b</userinput></term>
         <listitem>
           <para>Ο τελεστής mod (ισοϋπόλοιπο). Αυτός δεν ενεργοποιεί την <link linkend="genius-gel-modular-evaluation">κατάσταση υπολοίπων</link>, αλλά επιστρέφει απλά το υπόλοιπο της <userinput>a/b</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a.%b</userinput></term>
         <listitem>
           <para>Ο τελεστής ισοϋπόλοιπου στοιχείου κατά στοιχείο. Επιστρέφει το ακέραιο υπόλοιπο μετά το στοιχείο κατά στοιχείο του <userinput>a./b</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a mod b</userinput></term>
         <listitem>
           <para>Τελεστής υπολογισμού υπολοίπων. Η παράσταση <varname>a</varname> υπολογίζει το modulo <varname>b</varname>. Δείτε <xref linkend="genius-gel-modular-evaluation"/>. Κάποιες συναρτήσεις και κάποιοι τελεστές συμπεριφέρονται διαφορετικά με το ισοϋπόλοιπο ενός ακεραίου.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a!</userinput></term>
         <listitem>
           <para>Παραγοντικός τελεστής. Αυτό είναι παρόμοιο με <userinput>1*...*(n-2)*(n-1)*n</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a!!</userinput></term>
         <listitem>
           <para>Διπλός παραγοντικός τελεστής. Αυτός είναι παρόμοιος με <userinput>1*...*(n-4)*(n-2)*n</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a==b</userinput></term>
         <listitem>
           <para>Τελεστής ισότητας. Επιστρέφει <constant>αληθές</constant> ή <constant>ψευδές</constant> ανάλογα με το αν οι <varname>a</varname> και <varname>b</varname> είναι ίσες ή όχι.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a!=b</userinput></term>
         <listitem>
           <para>Τελεστής ανισότητας, επιστρέφει <constant>αληθές</constant> αν η <varname>a</varname> δεν είναι ίση με την <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a&lt;&gt;b</userinput></term>
         <listitem>
           <para>Εναλλακτικός τελεστής ανισότητας, επιστρέφει <constant>αληθές</constant> αν η <varname>a</varname> δεν είναι ίση με την <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a&lt;=b</userinput></term>
         <listitem>
           <para>Τελεστής μικρότερος από ή ίσος, επιστρέφει <constant>αληθές</constant> αν <varname>a</varname> είναι μικρότερο από ή ίσο με <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>. Αυτοί μπορούν να συνδεθούν όπως στο <userinput>a &lt;= b &lt;= c</userinput> (μπορούν επίσης να συνδυαστούν με τον τελεστή λιγότερο από).</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a&gt;=b</userinput></term>
         <listitem>
           <para>Τελεστής μεγαλύτερος από ή ίσος, επιστρέφει <constant>αληθές</constant> αν η <varname>a</varname> είναι μεγαλύτερη από ή ίση με την <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>. Αυτοί μπορούν να συνδεθούν όπως στο <userinput>a &gt;= b &gt;= c</userinput> (μπορούν επίσης να συνδυαστούν με τον τελεστή μεγαλύτερο από).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><userinput>a&lt;b</userinput></term>
         <listitem>
           <para>Τελεστής μικρότερος από, επιστρέφει <constant>αληθές</constant> αν <varname>a</varname> είναι μικρότερη από <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>. Αυτοί μπορούν να συνδεθούν όπως στο <userinput>a &lt; b &lt; c</userinput> (μπορούν επίσης να συνδυαστούν με τον τελεστή μικρότερο από ή ίσο).</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a&gt;b</userinput></term>
         <listitem>
           <para>Τελεστής μεγαλύτερος από, επιστρέφει <constant>αληθές</constant> αν η <varname>a</varname> είναι μικρότερη από <varname>b</varname>, αλλιώς επιστρέφει <constant>ψευδές</constant>. Αυτοί μπορούν να συνδεθούν όπως στο <userinput>a &gt; b &gt; c</userinput> (μπορούν επίσης να συνδυαστούν με τον τελεστή μεγαλύτερο από ή ίσο).</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a&lt;=&gt;b</userinput></term>
         <listitem>
           <para>Τελεστής σύγκρισης. Αν <varname>a</varname> είναι ίσο με <varname>b</varname> επιστρέφει 0, αν <varname>a</varname> είναι μικρότερο από <varname>b</varname> επιστρέφει -1 και αν <varname>a</varname> είναι μεγαλύτερο από <varname>b</varname> επιστρέφει 1.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a και b</userinput></term>
         <listitem>
           <para>Λογικό και. Επιστρέφει αληθές αν αμφότερα τα <varname>a</varname> και <varname>b</varname> είναι αληθή, αλλιώς επιστρέφει ψευδές. Αν είναι δοσμένοι οι αριθμοί, οι μη μηδενικοί αριθμοί αντιμετωπίζονται ως αληθείς.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a ή b</userinput></term>
         <listitem>
           <para>Λογικό ή. Επιστρέφει αληθές αν αμφότερα τα <varname>a</varname> ή <varname>b</varname> είναι αληθή, αλλιώς επιστρέφει ψευδές. Αν είναι δοσμένοι οι αριθμοί, οι μη μηδενικοί αριθμοί αντιμετωπίζονται ως αληθείς.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a xor b</userinput></term>
         <listitem>
           <para>Λογικό αποκλειστικό ή (xor). Επιστρέφει αληθές αν ένα ακριβώς από τα <varname>a</varname> ή <varname>b</varname> είναι αληθές, αλλιώς επιστρέφει ψευδές. Αν οι αριθμοί είναι δοσμένοι, οι μη μηδενικοί αριθμοί αντιμετωπίζονται ως αληθείς.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>όχι a</userinput></term>
         <listitem>
           <para>Λογικό όχι. Επιστρέφει την λογική άρνηση του <varname>a</varname></para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>-a</userinput></term>
         <listitem>
           <para>
             Negation operator.  Returns the negative of a number or a matrix (works element-wise on a matrix).
           </para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>&amp;a</userinput></term>
         <listitem>
           <para>Αναφορά μεταβλητής (για το πέρασμα μιας αναφοράς σε μια μεταβλητή). Δείτε <xref linkend="genius-gel-references"/>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>*a</userinput></term>
         <listitem>
           <para>Αποαναφορά μεταβλητής (για πρόσβαση σε μια αναφερθείσα μεταβλητή). Δείτε <xref linkend="genius-gel-references"/>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a'</userinput></term>
         <listitem>
           <para>Αναστροφή συζυγούς πίνακα. Δηλαδή, οι γραμμές και οι στήλες εναλλάσσονται και παίρνουμε τον συζυγή μιγαδικό όλων των καταχωρίσεων. Δηλαδή αν τα στοιχεία i,j της <varname>a</varname> είναι x+iy, τότε τα στοιχεία j,i του <userinput>a'</userinput> είναι x-iy.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a.'</userinput></term>
         <listitem>
           <para>Η αναστροφή πίνακα, δεν παίρνει τον συζυγή μιγαδικό των καταχωρίσεων. Δηλαδή, τα στοιχεία i,j της <varname>a</varname> γίνονται τα στοιχεία του <userinput>a.'</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(b,c)</userinput></term>
         <listitem>
           <para>Λήψη στοιχείου ενός πίνακα στη γραμμή <varname>b</varname> και στήλη <varname>c</varname>. Αν οι <varname>b</varname>, <varname>c</varname> είναι διανύσματα, τότε αυτό παίρνει τις αντίστοιχες στήλες γραμμές ή υποπίνακες.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(b,)</userinput></term>
         <listitem>
           <para>Λήψη γραμμής ενός πίνακα (ή πολλαπλών γραμμών αν το <varname>b</varname> είναι ένα διάνυσμα).</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(b,:)</userinput></term>
         <listitem>
           <para>Ίδιο με το παραπάνω.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(,c)</userinput></term>
         <listitem>
           <para>Λήψη στήλης ενός πίνακα (ή στηλών αν το <varname>c</varname> είναι ένα διάνυσμα).</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(:,c)</userinput></term>
         <listitem>
           <para>Ίδιο με το παραπάνω.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a@(b)</userinput></term>
         <listitem>
           <para>Λήψη ενός στοιχείου από έναν πίνακα αντιμετωπίζοντας τον ως διάνυσμα. Αυτό θα διατρέξει τον πίνακα κατά τη γραμμή.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a:b</userinput></term>
         <listitem>
           <para>Δόμηση ενός διανύσματος από το <varname>a</varname> στο <varname>b</varname> (ή ορίστε γραμμή, περιοχή στήλης για τον τελεστή <literal>@</literal>). Για παράδειγμα για να πάρετε τις γραμμές 2 μέχρι 4 του πίνακα <varname>Α</varname> μπορούμε να κάνουμε <programlisting>A@(2:4,)
	     </programlisting> ως <userinput>2:4</userinput> που θα επιστρέψει ένα διάνυσμα <userinput>[2,3,4]</userinput>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>a:b:c</userinput></term>
         <listitem>
           <para>Δόμηση ενός διανύσματος από <varname>a</varname> σε <varname>c</varname> με <varname>b</varname> ως ένα βήμα. Δηλαδή για παράδειγμα <programlisting>genius&gt; 1:2:9
=
`[1, 3, 5, 7, 9]
</programlisting></para>
	   <para>
	     When the numbers involved are floating point numbers, for example
	     <userinput>1.0:0.4:3.0</userinput>, the output is what is expected
	     even though adding 0.4 to 1.0 five times is actually just slightly
	     more than 3.0 due to the way that floating point numbers are
	     stored in base 2 (there is no 0.4, the actual number stored is
	     just ever so slightly bigger).  The way this is handled is the
	     same as in the for, sum, and prod loops.  If the end is within
	     <userinput>2^-20</userinput> times the step size of the endpoint,
	     the endpoint is used and we assume there were roundoff errors.
	     This is not perfect, but it handles the majority of the cases.
	     This check is done only from version 1.0.18 onwards, so execution
	     of your code may differ on older versions.  If you want to avoid
	     dealing with this issue, use actual rational numbers, possibly
	     using the <function>float</function> if you wish to get floating
	     point numbers in the end.  For example
	     <userinput>1:2/5:3</userinput> does the right thing and
	     <userinput>float(1:2/5:3)</userinput> even gives you floating
	     point numbers and is ever so slightly more precise than
	     <userinput>1.0:0.4:3.0</userinput>.
           </para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>(a)i</userinput></term>
         <listitem>
           <para>Κάντε έναν φανταστικό αριθμό (πολλαπλασιάστε το <varname>a</varname> με τον φανταστικό). Σημειώστε ότι, κανονικά ο αριθμός <varname>i</varname> γράφεται ως <userinput>1i</userinput>. Έτσι το παραπάνω είναι ίσο με <programlisting>(a)*1i
	     </programlisting></para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><userinput>`a</userinput></term>
         <listitem>
           <para>Βάλτε ` σε ένα αναγνωριστικό έτσι ώστε να μην υπολογιστεί. Ή βάλτε ` σε έναν πίνακα, έτσι ώστε να μην επεκταθεί.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><userinput>a swapwith b</userinput></term>
         <listitem>
           <para>Εναλλαγή τιμής του <varname>a</varname> με την τιμή του <varname>b</varname>. Πρός το παρόν δεν λειτουργεί σε περιοχές στοιχείων πίνακα. Επιστρέφει <constant>null</constant>. Διαθέσιμο από την έκδοση 1.0.13.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><userinput>increment a</userinput></term>
         <listitem>
           <para>Αύξηση της μεταβλητής <varname>a</varname> κατά 1. Αν η <varname>a</varname> είναι ένας πίνακας, τότε αυξάνεται κάθε στοιχείο. Αυτό είναι ισοδύναμο με το <userinput>a=a+1</userinput>, αλλά είναι κάπως γρηγορότερο. Επιστρέφει <constant>null</constant>. Διαθέσιμο από την έκδοση 1.0.13.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><userinput>increment a by b</userinput></term>
         <listitem>
           <para>Αυξάνει τη μεταβλητή <varname>a</varname> κατά <varname>b</varname>. Αν η <varname>a</varname> είναι ένας πίνακας, τότε αυξάνεται κάθε στοιχείο. Αυτό είναι ισοδύναμο με το <userinput>a=a+b</userinput>, αλλά είναι κάπως γρηγορότερο. Επιστρέφει <constant>null</constant>. Διαθέσιμο από την έκδοση 1.0.13.</para>
         </listitem>
        </varlistentry>


      </variablelist>

<note>
<para>Ο τελεστής @() καθιστά τον: τελεστή πιο χρήσιμο. Με αυτό μπορείτε να ορίσετε περιοχές ενός πίνακα. Έτσι ώστε a@(2:4,6) είναι οι γραμμές 2,3,4 της στήλης 6. Ή a@(,1:2) θα σας πάρει τις πρώτες δύο στήλες ενός πίνακα. Μπορείτε επίσης να αναθέσετε στον τελεστή @(), όσο η δεξιά τιμή είναι ο πίνακας που ταιριάζει στην περιοχή σε μέγεθος, ή αν είναι οποιουδήποτε άλλου τύπου τιμής.</para>
</note>

<note>
<para>Οι τελεστές σύγκρισης (εκτός από τον τελεστή &lt;=&gt; που συμπεριφέρεται κανονικά), δεν είναι αυστηρά δυαδικοί τελεστές, μπορούν στην πραγματικότητα να ομαδοποιηθούν με τον κανονικό μαθηματικό τρόπο, π.χ.: (1&lt;x&lt;=y&lt;5) είναι μια επιτρεπτή παράσταση τιμών Μπουλ και σημαίνει απλά αυτό που πρέπει, δηλαδή (1&lt;x and x≤y and y&lt;5)</para>
</note>

<note>
<para>Ο μοναδιαίος τελεστής μείον λειτουργεί με διαφορετικό τρόπο ανάλογα με το πού εμφανίζεται. Αν εμφανίζεται πριν από ένα αριθμό έχει στενή προτεραιότητα, αν εμφανίζεται μπροστά από μια παράσταση έχει μικρότερη προτεραιότητα από τη δύναμη και τους παραγοντικούς τελεστές. Έτσι για παράδειγμα <userinput>-1^k</userinput> είναι στην πραγματικότητα <userinput>(-1)^k</userinput>, αλλά <userinput>-foo(1)^k</userinput> είναι στην πραγματικότητα <userinput>-(foo(1)^k)</userinput>. Γιαυτό να προσέχετε τη χρήση του και αν αμφιβάλετε, προσθέστε παρενθέσεις.</para>
</note>
    </sect1>

  </chapter>

  <!-- ============= GEL Programming ========================== -->
  <chapter id="genius-gel-programming">
    <title>Προγραμματισμός με GEL</title>

    <sect1 id="genius-gel-conditionals">
      <title>Εξαρτήσεις</title>
      <para>Σύνταξη: <programlisting><![CDATA[if <expression1> then <expression2> [else <expression3>]
]]></programlisting> Αν <literal>else</literal> παραλείπεται, τότε αν η <literal>expression1</literal> δίνει <constant>ψευδές</constant> ή 0, επιστρέφεται η <literal>NULL</literal>.</para>
      <para>Παραδείγματα: <programlisting><![CDATA[if(a==5)then(a=a-1)
if b<a then b=a
if c>0 then c=c-1 else c=0
a = ( if b>0 then b else 1 )
]]></programlisting> Σημειώστε ότι <literal>=</literal> θα μεταφραστεί σε <literal>==</literal> αν χρησιμοποιηθεί μέσα στην παράσταση για <literal>if</literal>, έτσι το <programlisting>if a=5 then a=a-1
</programlisting> θα ερμηνευτεί ως: <programlisting>if a==5 then a:=a-1
</programlisting></para>
    </sect1>

    <sect1 id="genius-gel-loops">
      <title>Βρόχοι</title>

      <sect2 id="genius-gel-loops-while">
        <title>Βρόχοι While</title>
        <para>Σύνταξη: <programlisting><![CDATA[while <expression1> do <expression2>
until <expression1> do <expression2>
do <expression2> while <expression1>
do <expression2> until <expression1>]]></programlisting> Αυτοί είναι παρόμοιοι με τις άλλες γλώσσες. Όμως, επειδή στη gel είναι απλά μια παράσταση που πρέπει να έχει κάποια τιμή επιστροφής, αυτοί θα επιστρέψουν απλά το αποτέλεσμα της τελευταίας επανάληψης ή <literal>NULL</literal> αν δεν συμβεί καμιά επανάληψη. Στην παράσταση Μπουλ το <literal>=</literal> μεταφράζεται σε <literal>==</literal> ακριβώς όπως για τη δήλωση <literal>if</literal>.</para>
      </sect2>

      <sect2 id="genius-gel-loops-for">
        <title>Βρόχοι For</title>
        <para>Σύνταξη: <programlisting><![CDATA[for <identifier> = <from> to <to> do <body>
for <identifier> = <from> to <to> by <increment> do <body>]]></programlisting> Βρόχος με αναγνωριστικό ορίζεται για όλες τις τιμές από το <literal>&lt;from&gt;</literal> μέχρι το <literal>&lt;to&gt;</literal>, χρησιμοποιώντας προαιρετικά μια αύξηση άλλη από 1. Αυτοί είναι γρηγορότεροι, πιο ωραίοι και περισσότερο συμπαγείς από τους κανονικούς βρόχους όπως παραπάνω, αλλά λιγότερο ευέλικτοι. Το αναγνωριστικό πρέπει να είναι ένα αναγνωριστικό και δεν μπορεί να είναι μια αποαναφορά. Η τιμή του αναγνωριστικού είναι η τελευταία τιμή του ή <literal>&lt;from&gt;</literal> αν το σώμα δεν υπολογίστηκε ποτέ. Η μεταβλητή εγγυάται την αρχικοποίηση μετά από ένα βρόχο, έτσι μπορείτε να την χρησιμοποιήσετε με ασφάλεια. Επίσης τα <literal>&lt;from&gt;</literal>, <literal>&lt;to&gt;</literal> και <literal>&lt;increment&gt;</literal> πρέπει να είναι μη μιγαδικές τιμές. Το <literal>&lt;to&gt;</literal> δεν είναι βέβαιο ότι θα επιτευχθεί, αλλά δεν θα ξεπεραστεί ποτέ, για παράδειγμα το παρακάτω εκτυπώνει περιττούς αριθμούς από 1 έως 19: <programlisting>for i = 1 to 20 by 2 do print(i)
</programlisting></para>
        <para>Όταν μια από τις τιμές είναι ένας αριθμός κινητής υποδιαστολής, τότε ο τελικός έλεγχος γίνεται μέσα σε 2^-20 του μεγέθους βήματος. Δηλαδή, ακόμα κι αν ξεπεράσουμε κατά 2^-20 φορές το παραπάνω "by", θα εκτελέσουμε ακόμα την τελευταία επανάληψη. Με αυτόν τον τρόπο το <programlisting>for x = 0 to 1 by 0.1 do print(x)
</programlisting> κάνει το αναμενόμενο ακόμα κι αν προσθέσουμε δέκα φορές 0.1 γίνεται ακριβώς ελαφρώς περισσότερο από 1.0 λόγω του τρόπου αποθήκευσης των αριθμών κινητής υποδιαστολής με βάση 2 (δεν υπάρχει κανένα 0.1, ο ενεργός αποθηκευμένος αριθμός είναι απλά ελαφρά μεγαλύτερος). Αυτό δεν είναι τέλειο, αλλά χειρίζεται την πλειοψηφία των περιπτώσεων. Αν θέλετε να αποφύγετε να αντιμετωπίσετε αυτό το θέμα, χρησιμοποιήστε ενεργούς ρητούς αριθμούς, για παράδειγμα: <programlisting>for x = 0 to 1 by 1/10 do print(x)
</programlisting> Αυτός ο έλεγχος γίνεται μόνο από την έκδοση 1.0.16 και πέρα, έτσι η εκτέλεση του κώδικά σας μπορεί να διαφέρει σε παλιότερες εκδόσεις.</para>
      </sect2>

      <sect2 id="genius-gel-loops-foreach">
        <title>Βρόχοι Foreach</title>
        <para>Σύνταξη: <programlisting><![CDATA[for <identifier> in <matrix> do <body>]]></programlisting> Για κάθε στοιχείο στον πίνακα, πηγαίνοντας γραμμή ανά γραμμή από αριστερά προς τα δεξιά, εκτελούμε το σώμα με το αναγνωριστικό ορισμένο στο τρέχον στοιχείο. Για να εκτυπώσετε τους αριθμούς 1,2,3 και 4 με αυτήν τη σειρά θα μπορούσατε να κάνετε: <programlisting>for n in [1,2:3,4] do print(n)
</programlisting> Αν επιθυμείτε να διασχίσετε τις γραμμές και τις στήλες ενός πίνακα, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις RowsOf και ColumnsOf που επιστρέφουν ένα διάνυσμα γραμμών ή στηλών του πίνακα. Έτσι, το <programlisting>for n in RowsOf ([1,2:3,4]) do print(n)
</programlisting> θα εκτυπώσει [1,2] και έπειτα [3,4].</para>
      </sect2>

      <sect2 id="genius-gel-loops-break-continue">
        <title>Break και Continue (διακοπή και συνέχιση)</title>
        <para>Μπορείτε επίσης να χρησιμοποιήσετε τις εντολές <literal>break</literal> και <literal>continue</literal> σε βρόχους. Η εντολή <literal>continue</literal> θα επανεκκινήσει τον τρέχοντα βρόχο στην επόμενη του επανάληψη, ενώ η εντολή <literal>break</literal> φεύγει από τον τρέχοντα βρόχο. <programlisting><![CDATA[while(<expression1>) do (
  if(<expression2>) break
  else if(<expression3>) continue;
  <expression4>
)
]]></programlisting></para>
      </sect2>
    </sect1>

    <sect1 id="genius-gel-sums-products">
      <title>Sums και Products (αθροίσματα και γινόμενα)</title>
      <para>Σύνταξη: <programlisting><![CDATA[sum <identifier> = <from> to <to> do <body>
sum <identifier> = <from> to <to> by <increment> do <body>
sum <identifier> in <matrix> do <body>
prod <identifier> = <from> to <to> do <body>
prod <identifier> = <from> to <to> by <increment> do <body>
prod <identifier> in <matrix> do <body>]]></programlisting> Αν αντικαταστήσετε το <literal>for</literal> με το <literal>sum</literal> ή <literal>prod</literal>, τότε θα πάρετε ένα άθροισμα ή γινόμενο αντί για έναν βρόχο <literal>for</literal> loop. Αντί για επιστροφή στην τελευταία τιμή, αυτά θα επιστρέψουν το άθροισμα ή το γινόμενο των τιμών αντίστοιχα.</para>
      <para>Αν δεν εκτελεστεί κανένα σώμα (για παράδειγμα <userinput>sum i=1 to 0 do ...</userinput>) τότε το <literal>sum</literal> επιστρέφει 0 και το <literal>prod</literal> επιστρέφει 1 όπως είναι η τυπική σύμβαση.</para>
      <para>Για αριθμούς κινητής υποδιαστολής η ίδια στρογγυλοποίηση προστασίας σφάλματος γίνεται όπως στον βρόχο for. Δείτε <xref linkend="genius-gel-loops-for"/>.</para>
    </sect1>

    <sect1 id="genius-gel-comparison-operators">
      <title>Τελεστές σύγκρισης</title>
      <para>Οι παρακάτω τυπικοί τελεστές σύγκρισης υποστηρίζονται στο GEL και έχουν την προφανή σημασία: <literal>==</literal>, <literal>&gt;=</literal>, <literal>&lt;=</literal>, <literal>!=</literal>, <literal>&lt;&gt;</literal>, <literal>&lt;</literal>, <literal>&gt;</literal>. Επιστρέφουν <constant>αληθές</constant> ή <constant>ψευδές</constant>. Οι τελεστές <literal>!=</literal> και <literal>&lt;&gt;</literal> είναι το ίδιο πράγμα και σημαίνουν "δεν είναι ίσο με". Η GEL επίσης υποστηρίζει τον τελεστή <literal>&lt;=&gt;</literal>, που επιστρέφει -1 αν το αριστερό μέλος είναι μικρότερο, 0 αν και τα δύο μέλη είναι ίσα, 1 αν το αριστερό μέλος είναι μεγαλύτερο.</para>

      <para>Κανονικά <literal>=</literal> μεταφράζεται σε <literal>==</literal> αν συμβεί να είναι κάπου όπου το GEL αναμένει μια συνθήκη όπως στη συνθήκη if. Για παράδειγμα <programlisting>if a=b then c
if a==b then c
</programlisting> είναι το ίδιο πράγμα στη GEL. Όμως, θα πρέπει να χρησιμοποιήσετε πραγματικά το <literal>==</literal> ή <literal>:=</literal> όταν θέλετε να συγκρίνετε ή να αναθέσετε αντίστοιχα, αν θέλετε ο κώδικας σας να είναι ευανάγνωστος και να αποφύγετε λάθη.</para>

      <para>Όλοι οι τελεστές σύγκρισης (εκτός από τον τελεστή <literal>&lt;=&gt;</literal> που συμπεριφέρεται κανονικά), δεν είναι αυστηρά δυαδικοί τελεστές, μπορούν στην πραγματικότητα να ομαδοποιηθούν με τον κανονικό μαθηματικό τρόπο, π.χ.: (<literal>1&lt;x&lt;=y&lt;5</literal>) είναι μια επιτρεπτή παράσταση Μπουλ και σημαίνει ακριβώς αυτό που πρέπει, δηλαδή (1&lt;x and x≤y and y&lt;5)</para>
      <para>Για να δημιουργήσετε λογικές παραστάσεις χρησιμοποιήστε τις λέξεις <literal>not</literal>, <literal>and</literal>, <literal>or</literal>, <literal>xor</literal>. Οι τελεστές <literal>or</literal> και <literal>and</literal> είναι ειδικές οντότητες επειδή υπολογίζουν τα ορίσματά τους ένα προς ένα, έτσι το συνηθισμένο κόλπο για υπό όρο υπολογισμό δουλεύει εδώ επίσης. Για παράδειγμα, <literal>1 or a=1</literal> δεν θα ορίσουν <literal>a=1</literal> αφού το πρώτο όρισμα ήταν αληθές.</para>
    </sect1>

      <sect1 id="genius-gel-variables-global">
        <title>Καθολικές μεταβλητές και εμβέλεια μεταβλητών</title>
	<para>Η GEL είναι μια <ulink url="http://en.wikipedia.org/wiki/Scope_%28programming%29">δυναμική γλώσσα με εμβέλεια</ulink>. Θα εξηγήσουμε τι σημαίνει αυτό παρακάτω. Δηλαδή, κανονικές μεταβλητές και συναρτήσεις είναι δυναμικά με εμβέλεια. Η εξαίρεση είναι οι <link linkend="genius-gel-parameters">μεταβλητές παραμέτρου</link>, που είναι πάντα καθολικές.</para>
	<para>Όπως οι περισσότερες γλώσσες προγραμματισμού, η GEL έχει διαφορετικούς τύπους μεταβλητών. Κανονικά, όταν μια μεταβλητή ορίζεται σε μια συνάρτηση, είναι ορατή από αυτή τη συνάρτηση και από όλες τις συναρτήσεις που καλούνται (όλες με υψηλότερα περιεχόμενα). Για παράδειγμα, ας υποθέσουμε ότι μια συνάρτηση <function>f</function> ορίζει μια μεταβλητή <varname>a</varname> και έπειτα καλεί τη συνάρτηση <function>g</function>. Τότε η συνάρτηση <function>g</function> μπορεί να αναφέρει την <varname>a</varname>. Αλλά μόλις η <function>f</function> επιστρέφει, η μεταβλητή <varname>a</varname> βγαίνει εκτός εμβέλειας. Για παράδειγμα, ο παρακάτω κώδικας θα εμφανίσει 5. Η συνάρτηση <function>g</function> δεν μπορεί να κληθεί στο ανώτατο επίπεδο (έξω από τη <function>f</function> ως <varname>a</varname> δεν θα οριστεί). <programlisting>function f() = (a:=5; g());
function g() = print(a);
f();
</programlisting></para>
        <para>Αν ορίσετε μια μεταβλητή μέσα σε μια συνάρτηση θα επικαλύψει οποιεσδήποτε μεταβλητές ορίστηκαν στις συναρτήσεις κλήσης. Για παράδειγμα, τροποποιούμε τον παραπάνω κώδικα και γράφουμε: <programlisting>function f() = (a:=5; g());
function g() = print(a);
a:=10;
f();
</programlisting> Αυτός ο κώδικας θα εμφανίσει ακόμα 5. Αλλά αν καλέσετε την <function>g</function> έξω από την <function>f</function>, τότε θα πάρετε ένα αποτέλεσμα 10. Σημειώστε ότι, ο ορισμός μιας <varname>a</varname> σε 5 μέσα σε μια <function>f</function> δεν αλλάζει την τιμή της <varname>a</varname> στο ανώτατο (καθολικό) επίπεδο, έτσι αν τώρα ελέγξετε την τιμή της <varname>a</varname> θα είναι ακόμα 10.</para>
	<para>Τα ορίσματα συναρτήσεων είναι ακριβώς όπως οι μεταβλητές που ορίστηκαν μέσα στη συνάρτηση, εκτός από το ότι είναι αρχικοποιημένες με την τιμή που περάστηκε στη συνάρτηση. Πέρα από αυτό το σημείο, αντιμετωπίζονται ακριβώς όπως όλες οι άλλες μεταβλητές που ορίστηκαν μέσα στη συνάρτηση.</para>
	<para>Οι συναρτήσεις αντιμετωπίζονται ακριβώς όπως οι μεταβλητές. Συνεπώς, μπορείτε τοπικά να επανορίσετε τις συναρτήσεις. Κανονικά, (στο ανώτατο επίπεδο) δεν μπορείτε να επανορίσετε προστατευμένες μεταβλητές και συναρτήσεις. Αλλά τοπικά μπορείτε να το κάνετε. Θεωρείστε την ακόλουθη συνεδρία: <screen><prompt>genius&gt; </prompt><userinput>function f(x) = sin(x)^2</userinput>
= (`(x)=(sin(x)^2))
<prompt>genius&gt; </prompt><userinput>function f(x) = sin(x)^2</userinput>
= (`(x)=(sin(x)^2))
<prompt>genius&gt; </prompt><userinput>function g(x) = ((function sin(x)=x^10);f(x))</userinput>
= (`(x)=((sin:=(`(x)=(x^10)));f(x)))
<prompt>genius&gt; </prompt><userinput>g(10)</userinput>
= 1e20
</screen></para>
	<para>
	  Functions and variables defined at the top level are
	  considered global.  They are visible from anywhere.  As we
	  said the following function <function>f</function>
	  will not change the value of <varname>a</varname> to 5.
<programlisting>a=6;
function f() = (a:=5);
f();
</programlisting>
	  Sometimes, however, it is necessary to set
a global variable from inside a function.  When this behavior is needed,
use the
<link linkend="gel-function-set"><function>set</function></link> function. Passing a string or a quoted identifier to
this function sets the variable globally (on the top level).
For example, to set
<varname>a</varname> to the value 3 you could call:
<programlisting>set(`a,3)
</programlisting>
or:
<programlisting>set("a",3)
</programlisting>
        </para>
        <para>Η συνάρτηση <function>set</function> ορίζει πάντα την καθολική ανωτάτου επιπέδου. Δεν υπάρχει τρόπος να οριστεί μια τοπική μεταβλητή σε κάποια συνάρτηση από μια υπορουτίνα. Αν αυτό απαιτείται, πρέπει να χρησιμοποιηθεί το πέρασμα με αναφορά.</para>
	<para>
		See also the
		<link linkend="gel-function-SetElement"><function>SetElement</function></link> and
		<link linkend="gel-function-SetVElement"><function>SetVElement</function></link> functions.
	</para>
	<para>Για να ανακεφαλαιώσουμε σε μια πιο τεχνική γλώσσα: Η Genius λειτουργεί με διαφορετικά αριθμημένα περιεχόμενα. Το ανώτατο επίπεδο είναι το περιεχόμενο 0 (μηδέν). Όποτε μια συνάρτηση εισέρχεται, το περιεχόμενο αυξάνεται και όταν η συνάρτηση επιστρέφει το περιεχόμενο μειώνεται. Μια συνάρτηση ή μια μεταβλητή είναι πάντα ορατή από όλα τα περιεχόμενα με υψηλότερη αρίθμηση. Όταν μια μεταβλητή ορίζεται σε ένα περιεχόμενο χαμηλότερης αρίθμησης, τότε ο ορισμός αυτής της μεταβλητής επιδρά στη δημιουργία μιας νέας τοπικής μεταβλητής με τον τρέχοντα αριθμό περιεχομένου και αυτή η μεταβλητή θα είναι τώρα ορατή από όλα τα περιεχόμενα με υψηλότερη αρίθμηση.</para>
	<para>Υπάρχουν επίσης αληθινές τοπικές μεταβλητές, που δεν φαίνονται από οπουδήποτε εκτός από το τρέχον περιεχόμενο. Επίσης όταν επιστρέφονται συναρτήσεις με τιμή μπορεί να αναφέρονται σε μεταβλητές μη ορατές από υψηλότερο περιεχόμενο και αυτό μπορεί να είναι ένα πρόβλημα. Δείτε τις ενότητες <link linkend="genius-gel-true-local-variables">Αληθείς τοπικές μεταβλητές</link> και <link linkend="genius-gel-returning-functions">Επιστροφή συναρτήσεων</link>.</para>
      </sect1>

      <sect1 id="genius-gel-parameters">
        <title>Μεταβλητές παραμέτρων</title>
	<para>Όπως είπαμε πριν, υπάρχουν ειδικές μεταβλητές που λέγονται παράμετροι που υπάρχουν σε όλες τις εμβέλειες. Για να δηλώσετε μια παράμετρο που λέγεται <varname>foo</varname> με την αρχική τιμή 1, γράφουμε <programlisting><![CDATA[parameter foo = 1
]]></programlisting> Από κει και πέρα η <varname>foo</varname> είναι μια αυστηρά καθολική μεταβλητή. Ορίζοντας την <varname>foo</varname> μέσα σε οποιαδήποτε συνάρτηση θα τροποποιεί τη μεταβλητή σε όλα τα περιεχόμενα, δηλαδή, οι συναρτήσεις δεν έχουν ένα ιδιωτικό αντίγραφο των παραμέτρων.</para>
        <para>Όταν αποκαθορίζετε μια παράμετρο χρησιμοποιώντας τη συνάρτηση <link linkend="gel-function-undefine"><function>undefine</function></link>, σταματά να είναι μια παράμετρος.</para>
        <para>
	  Some parameters are built-in and modify the behavior of genius.
        </para>
      </sect1>

    <sect1 id="genius-gel-returning">
      <title>Επιστροφή</title>
	<para>Κανονικά, μια συνάρτηση είναι μία ή πολλές παραστάσεις χωρισμένες με ; και η τιμή της τελευταίας παράστασης επιστρέφεται. Αυτό είναι θαυμάσιο για απλές συναρτήσεις, αλλά μερικές φορές δεν θέλετε μια συνάρτηση νε επιστρέφει το τελευταίο υπολογισμένο πράγμα. Μπορείτε, για παράδειγμα, να θέλετε να επιστρέψετε από το μέσο μιας συνάρτησης. Σε αυτήν την περίπτωση, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί <literal>return</literal>. Η <literal>return</literal> παίρνει ένα όρισμα, που είναι η τιμή για επιστροφή.</para>
      <para>Παράδειγμα: <programlisting><![CDATA[function f(x) = (
  y=1;
  while true do (
    if x>50 then return y;
    y=y+1;
    x=x+1
  )
)
]]></programlisting></para>
    </sect1>


    <sect1 id="genius-gel-references">
      <title>Αναφορές</title>
      <para>Μπορεί να είναι απαραίτητο για μερικές συναρτήσεις να επιστραφούν περισσότερες από μία τιμές. Αυτό μπορεί να επιτευχθεί επιστρέφοντας ένα διάνυσμα τιμών, αλλά πολλές φορές, είναι βολικό να χρησιμοποιήσετε το πέρασμα μιας αναφοράς σε μια μεταβλητή. Περνάτε μια αναφορά σε μια μεταβλητή σε μια συνάρτηση και η συνάρτηση θα ορίσει τη μεταβλητή για σας χρησιμοποιώντας μια αποαναφορά. Δεν πρέπει να χρησιμοποιείτε αναφορές μόνο για αυτόν το σκοπό, αλλά αυτή είναι η κύρια χρήση τους.</para>
      <para>Όταν χρησιμοποιείτε συναρτήσεις που επιστρέφουν τιμές μέσα από αναφορές στη λίστα ορισμάτων, περάστε απλά το όνομα της μεταβλητής με ένα  (A x v: </para>
      <para>Οι λεπτομέρειες του πώς δουλεύουν οι αναφορές και η σύνταξη είναι παρόμοιες με τη γλώσσα C. Ο τελεστής <literal>&amp;</literal> αναφέρεται σε μια μεταβλητή και το <literal>*</literal> αποαναφέρει μια μεταβλητή. Αμφότεροι μπορούν να εφαρμοστούν μόνο σε ένα αναγνωριστικό, έτσι το <literal>**a</literal> δεν είναι επιτρεπτή παράσταση στο GEL.</para>
      <para>Οι αναφορές εξηγούνται καλύτερα με ένα παράδειγμα: <programlisting><![CDATA[a=1;
b=&a;
*b=2;
]]></programlisting> τώρα η <varname>a</varname> περιέχει 2. Μπορείτε επίσης να αναφέρετε συναρτήσεις: το <programlisting><![CDATA[function f(x) = x+1;
t=&f;
*t(3)
]]></programlisting> μας δίνει 4.</para>
    </sect1>

    <sect1 id="genius-gel-lvalues">
      <title>Lvalues (αριστερές τιμές)</title>
      <para>Μια lvalue είναι το αριστερό μέλος μιας ανάθεσης. Με άλλα λόγια, μια lvalue είναι αυτό που αναθέτετε σε κάτι. Έγκυρες lvalues είναι: <variablelist>
  <varlistentry>
    <term><userinput>a</userinput></term>
    <listitem>
      <para>Αναγνωριστικό. Εδώ μπορεί να οριστεί η μεταβλητή του ονόματος <varname>a</varname>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><userinput>*a</userinput></term>
    <listitem>
      <para>Αποαναφορά ενός αναγνωριστικού. Αυτό θα ορίσει οποιαδήποτε μεταβλητή δείχνει στο <varname>a</varname>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term><userinput>a@(&lt;region&gt;)</userinput></term>
    <listitem>
      <para>Μια περιοχή ενός πίνακα. Εδώ η περιοχή ορίζεται κανονικά όπως στην περίπτωση του κανονικού τελεστή @() και μπορεί να είναι μια μοναδική καταχώριση, ή μια πλήρης περιοχή του πίνακα.</para>
    </listitem>
  </varlistentry>
</variablelist></para>
      <para>
Examples:
<programlisting>a:=4
*tmp := 89
a@(1,1) := 5
a@(4:8,3) := [1,2,3,4,5]'
</programlisting>
Note that both <literal>:=</literal> and <literal>=</literal> can be used
interchangeably.  Except if the assignment appears in a condition.
It is thus always safer to just use
<literal>:=</literal> when you mean assignment, and <literal>==</literal>
when you mean comparison.
      </para>
    </sect1>

  </chapter>

  <chapter id="genius-gel-programming-advanced">
    <title>Προχωρημένος προγραμματισμός με GEL</title>

    <sect1 id="genius-gel-error-handling">
      <title>Χειρισμός σφάλματος</title>
      <para>Αν εντοπίσετε ένα σφάλμα στη συνάρτησή σας, μπορείτε να το αποφύγετε. Για φυσιολογικά σφάλματα, όπως εσφαλμένους τύπους ορισμάτων, μπορείτε να παραλείψετε να υπολογίσετε τη συνάρτηση προσθέτοντας την δήλωση <literal>bailout</literal>. Αν κάτι πήγε πραγματικά εσφαλμένα και θέλετε να τερματίσετε πλήρως τον τρέχοντα υπολογισμό, μπορείτε να χρησιμοποιήσετε το <literal>exception</literal>.</para>
      <para>Για παράδειγμα αν θέλετε να ελέγξετε για ορίσματα στη συνάρτησή σας. Θα μπορούσατε να χρησιμοποιήσετε τον ακόλουθο κώδικα. <programlisting>function f(M) = (
  if not IsMatrix (M) then (
    error ("M not a matrix!");
    bailout
  );
  ...
)
</programlisting></para>
    </sect1>

    <sect1 id="genius-gel-toplevel-syntax">
      <title>Σύνταξη ανωτάτου επιπέδου</title>
      <para>
	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 sequence of lines as if 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 of course part of several statements inside
	parentheses).
      </para>
      <para>Ο παρακάτω κώδικας θα παράξει ένα σφάλμα όταν εισαχθεί στο ανώτατο επίπεδο ενός προγράμματος, ενώ θα δουλέψει θαυμάσια σε μια συνάρτηση. <programlisting>if Something() then
  DoSomething()
else
  DoSomethingElse()
</programlisting></para>
      <para>Το πρόβλημα είναι ότι μετά το <application>Εργαλείο μαθηματικών Genius</application> βλέπει το τέλος της γραμμής μετά τη δεύτερη γραμμή, θα αποφασίσει ότι έχουμε ολόκληρη τη δήλωση και θα την εκτελέσει. Μετά την εκτέλεση, το <application>Εργαλείο μαθηματικών Genius</application> θα συνεχίσει με την επόμενη γραμμή, θα δει το <literal>else</literal> και θα παράξει ένα σφάλμα ανάλυσης. Για να το διορθώσετε, χρησιμοποιήστε παρενθέσεις. Το <application>Εργαλείο μαθηματικών Genius</application> δεν θα ικανοποιηθεί μέχρι να βρει ότι όλες οι παρενθέσεις έχουν κλείσει. <programlisting>if Something() then (
  DoSomething()
) else (
  DoSomethingElse()
)
</programlisting></para>
    </sect1>

     <sect1 id="genius-gel-returning-functions">
       <title>Επιστροφή συναρτήσεων</title>
	<para>Είναι δυνατό να επιστρέψετε συναρτήσεις ως τιμή. Με αυτόν τον τρόπο μπορείτε να δομήσετε συναρτήσεις που κατασκευάζουν συναρτήσεις ειδικού σκοπού σύμφωνα με κάποιες παραμέτρους. Το ευαίσθητο κομμάτι είναι τι μεταβλητές βλέπει η συνάρτηση. Ο τρόπος που αυτό δουλεύει στο GEL είναι ότι όταν μια συνάρτηση επιστρέφει μια άλλη συνάρτηση, όλα τα αναγνωριστικά που αναφέρθηκαν στο σώμα της συνάρτησης που βγήκε εκτός εμβέλειας προτάσσουν ένα ιδιωτικό λεξικό της επιστρεφόμενης συνάρτησης. Έτσι η συνάρτηση θα δει όλες τις μεταβλητέςπου ήταν στην εμβέλεια όταν ορίστηκε. Για παράδειγμα, ορίζουμε μια συνάρτηση που επιστρέφει μια συνάρτηση που προσθέτει 5 στο όρισμά της. <programlisting>function f() = (
  k = 5;
  `(x) = (x+k)
)
</programlisting> Σημειώστε ότι, η συνάρτηση προσθέτει τη <varname>k</varname> στη <varname>x</varname>. Μπορείτε να τη χρησιμοποιήσετε ως εξής. <programlisting>g = f();
g(5)
</programlisting> Και η <userinput>g(5)</userinput> πρέπει να επιστρέψει 10.</para>
	<para>Πρέπει να σημειώσετε ότι η τιμή της <varname>k</varname> που χρησιμοποιείται είναι αυτή που επιστρέφεται στην πραγματικότητα από την <function>f</function>. Για παράδειγμα: το <programlisting>function f() = (
  k := 5;
  function r(x) = (x+k);
  k := 10;
  r
)
</programlisting> θα επιστρέψει μια συνάρτηση που προσθέτει 10 στο όρισμά της αντί για 5. Αυτό συμβαίνει επειδή το πρόσθετο λεξικό δημιουργείται μόνο όταν το περιεχόμενο στο οποίο η συνάρτηση ορίστηκε τελειώνει, που συμβαίνει όταν η συνάρτηση <function>f</function> επιστρέφεται. Αυτό είναι συνεπές με το πώς θα περιμένατε η συνάρτηση <function>r</function> να δουλέψει μέσα στη συνάρτηση <function>f</function> σύμφωνα με τους κανόνες εμβέλειας των μεταβλητών στη GEL. Μόνο αυτές οι μεταβλητές προστίθενται στο πρόσθετο λεξικό που είναι στο περιεχόμενο που μόλις τελείωσε και δεν υπάρχει πια. Οι χρησιμοποιούμενες μεταβλητές στη συνάρτηση που είναι ακόμα σε έγκυρα περιεχόμενα θα δουλέψουν ως συνήθως, χρησιμοποιώντας την τρέχουσα τιμή της μεταβλητής. Η μόνη διαφορά είναι με τις καθολικές μεταβλητές και συναρτήσεις. Όλα τα αναγνωριστικά που αναφέρθηκαν σε καθολικές μεταβλητές κατά τον ορισμό της συνάρτησης δεν προστίθενται στο ιδιωτικό λεξικό. Αυτό συμβαίνει για να αποφευχθεί πολλή περιττή εργασία κατά την επιστροφή συναρτήσεων και μπορεί σπάνια να είναι πρόβλημα. Για παράδειγμα, ας υποθέσουμε ότι διαγράφετε το "k=5" από τη συνάρτηση <function>f</function> και στο ανώτατο επίπεδο ορίζετε την <varname>k</varname> να είναι ας πούμε 5. Τότε όταν εκτελείτε τη <function>f</function>, η συνάρτηση <function>r</function> δεν θα βάλει την <varname>k</varname> στο ιδιωτικό λεξικό, επειδή είναι καθολική (ανωτάτου επιπέδου) τη στιγμή του ορισμού της <function>r</function>.</para>
	<para>Μερικές φορές είναι καλύτερο να έχετε περισσότερο έλεγχο στο πώς αντιγράφονται οι μεταβλητές στο ιδιωτικό λεξικό. Από την έκδοση 1.0.7, μπορείτε να ορίσετε ποιες μεταβλητές αντιγράφονται στο ιδιωτικό λεξικό βάζοντας πρόσθετες αγκύλες μετά τα ορίσματα με τον κατάλογο των μεταβλητών να αντιγράφεται χωριζόμενο με κόμματα. Αν το κάνετε αυτό, τότε οι μεταβλητές αντιγράφονται στο προσωπικό λεξικό τη στιγμή του ορισμού της συνάρτησης και το ιδιωτικό λεξικό δεν επηρεάζεται κατόπιν. Για παράδειγμα το <programlisting>function f() = (
  k := 5;
  function r(x) [k] = (x+k);
  k := 10;
  r
)
</programlisting> θα επιστρέψει μια συνάρτηση που όταν καλείται θα προσθέσει 5 στο όρισμά του. Το τοπικό αντίγραφο της <varname>k</varname> δημιουργήθηκε όταν η συνάρτηση ορίστηκε.</para>
	<para>Όταν θέλετε η συνάρτηση να μην έχει κανένα ιδιωτικό λεξικό, τότε βάλτε κενές αγκύλες μετά την λίστα ορισμάτων. Τότε κανένα ιδιωτικό λεξικό δεν θα δημιουργηθεί. Κάνοντας το αυξάνετε την αποτελεσματικότητα, όταν ένα προσωπικό λεξικό δεν χρειάζεται ή όταν θέλετε η συνάρτηση να αναζητήσει όλες τις μεταβλητές όπως τις βλέπει όταν καλούνται. Για παράδειγμα ας υποθέσουμε ότι θέλετε η επιστρεφόμενη συνάρτηση από την <function>f</function> να δει την τιμή της <varname>k</varname> από το ανώτατο επίπεδο παρά το ότι εκεί είναι μια τοπική μεταβλητή με το ίδιο όνομα κατά τη διάρκεια του ορισμού. Έτσι ο κώδικας <programlisting>function f() = (
  k := 5;
  function r(x) [] = (x+k);
  r
);
k := 10;
g = f();
g(10)
</programlisting> θα επιστρέψει 20 και όχι 15, που θα συμβεί αν η <varname>k</varname> με μια τιμή 5 προστέθηκε στο ιδιωτικό λεξικό.</para>
    </sect1>

    <sect1 id="genius-gel-true-local-variables">
      <title>Αληθείς τοπικές μεταβλητές</title>
      <para>Κατά τη μεταβίβαση συναρτήσεων σε άλλες συναρτήσεις, η κανονική εμβέλεια των μεταβλητών μπορεί να είναι ανεπιθύμητη. Για παράδειγμα: <programlisting>k := 10;
function r(x) = (x+k);
function f(g,x) = (
  k := 5;
  g(x)
);
f(r,1)
</programlisting> προφανώς θέλετε η συνάρτηση <function>r</function> κατά τη μεταβίβαση ως <function>g</function> στη <function>f</function> να δει τη <varname>k</varname> ως 10 αντί για 5, έτσι ώστε ο κώδικας να επιστρέψει 11 και όχι 6. Όμως, όπως είναι γραμμένο, η συνάρτηση κατά την εκτέλεση θα δει τη <varname>k</varname> που είναι ίση με 5. Υπάρχουν δύο τρόποι για την επίλυση αυτού του θέματος. Κάποιος πρέπει να κάνει την <function>r</function> να πάρει την <varname>k</varname> σε ένα ιδιωτικό λεξικό χρησιμοποιώντας την σημειογραφία αγκύλης στην ενότητα <link linkend="genius-gel-returning-functions">Επιστροφή συναρτήσεων</link>.</para>
      <para>
	But there is another solution.  Since version 1.0.7 there are
	true local variables.  These are variables that are visible only
	from the current context and not from any called functions.
	We could define <varname>k</varname> as a local variable in the
	function <function>f</function>.  To do this add a
	<command>local</command> statement as the first statement in the
	function (it must always be the first statement in the function).
	You can also make any arguments be local variables as well.
	That is,
<programlisting>function f(g,x) = (
  local g,x,k;
  k := 5;
  g(x)
);
</programlisting>
	Then the code will work as expected and prints out 11.
	Note that the <command>local</command> statement initializes
	all the referenced variables (except for function arguments) to
	a <constant>null</constant>.
      </para>
      <para>
	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 of course.
	So the following definition of <function>f</function>
	will also work:
<programlisting>function f(g,x) = (
  local *;
  k := 5;
  g(x)
);
</programlisting>
      </para>
      <para>Είναι μια καλή πρακτική όλες οι συναρτήσεις που παίρνουν άλλες συναρτήσεις ως ορίσματα να χρησιμοποιούν τοπικές μεταβλητές. Με αυτόν το τρόπο η μεταβιβαζόμενη συνάρτηση δεν βλέπει λεπτομέρειες υλοποίησης και δεν μπερδεύεται.</para>
    </sect1>

    <sect1 id="genius-gel-startup-procedure">
      <title>Διαδικασία έναρξης GEL</title>
      <para>Αρχικά το πρόγραμμα αναζητά το εγκατεστημένο αρχείο βιβλιοθήκης (τη μεταγλωττισμένη έκδοση <filename>lib.cgel</filename>) στον εγκατεστημένο κατάλογο, έπειτα ψάχνει στον τρέχοντα κατάλογο και έπειτα προσπαθεί να φορτώσει το αμεταγλώττιστο αρχείο που λέγεται <filename>~/.geniusinit</filename>.</para>
      <para>Αν ποτέ αλλάξετε την εγκατεστημένη θέση της βιβλιοθήκης, θα πρέπει πρώτα να τη μεταγλωττίσετε με <command>genius --compile loader.gel &gt; lib.cgel</command></para>
    </sect1>

    <sect1 id="genius-gel-loading-programs">
      <title>Φόρτωση προγραμμάτων</title>
      <para>
Sometimes you have a larger program you wrote into a file and want to read that file into <application>Genius Mathematics Tool</application>. In these situations, you have two options. You can keep the functions you use most inside the <filename>~/.geniusinit</filename> file. Or if you want to load up a file in a middle of a session (or from within another file), you can type <command>load &lt;list of filenames&gt;</command> at the prompt. This has to be done on the top level and not inside any function or whatnot, and it cannot be part of any expression. It also has a slightly different syntax than the rest of genius, more similar to a shell. You can enter the file in quotes. If you use the '' quotes, you will get exactly the string that you typed, if you use the "" quotes, special characters will be unescaped as they are for strings. Example:
<programlisting>load program1.gel program2.gel
load "Weird File Name With SPACES.gel"
</programlisting>
There are also <command>cd</command>, <command>pwd</command> and <command>ls</command> commands built in. <command>cd</command> will take one argument, <command>ls</command> will take an argument that is like the glob in the UNIX shell (i.e., you can use wildcards). <command>pwd</command> takes no arguments. For example:
<programlisting>cd directory_with_gel_programs
ls *.gel
</programlisting>
      </para>
    </sect1>

  </chapter>

  <!-- ============= Matrices ================================= -->
  <chapter id="genius-gel-matrices">
    <title>Πίνακες στη GEL</title>

    <para>
      Genius has support for vectors and matrices and possesses a sizable library of
      matrix manipulation and linear algebra functions.
    </para>

    <sect1 id="genius-gel-matrix-support">
      <title>Εισαγωγή πινάκων</title>
      <para>
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,2,3;4,5,6;7,8,9]
</programlisting>
or
<programlisting>[1, 2, 3
 4, 5, 6
 7, 8, 9]
</programlisting>
Do not use both ';' and return at once on the same line though.
      </para>

      <para>
You can also use the matrix expansion functionality to enter matrices.
For example you can do:
<programlisting>a = [ 1, 2, 3
      4, 5, 6
      7, 8, 9]
b = [ a,  10
      11, 12]
</programlisting>
and you should get
<programlisting>[1,   2,  3, 10
 4,   5,  6, 10
 7,   8,  9, 10
 11, 11, 11, 12]
</programlisting>
similarly you can build matrices out of vectors and other stuff like that.
      </para>

      <para>Ένα άλλο είναι ότι αρχικοποιούνται μη καθορισμένα σημεία σε 0, έτσι το <programlisting>[1, 2, 3
 4, 5
 6]
</programlisting> θα καταλήξει να είναι <programlisting>
[1, 2, 3
 4, 5, 0
 6, 0, 0]
</programlisting></para>

      <para>Όταν υπολογίζονται πίνακες, υπολογίζονται και διατρέχονται κατά την έννοια της γραμμής. Αυτό είναι ακριβώς όπως ο τελεστής <literal>M@(j)</literal> που διατρέχει τον πίνακα κατά την έννοια της γραμμής.</para>

      <note>
        <para>Προσέξτε τη χρήση επιστροφών για εκφράσεις μέσα σε αγκύλες <literal>[ ]</literal>, επειδή έχουν μια ελαφρώς διαφορετική έννοια εδώ. Θα ξεκινήσετε μια νέα γραμμή.</para>
      </note>

    </sect1>

    <sect1 id="genius-gel-matrix-transpose">
      <title>Συζυγής αντιστροφή και τελεστής αντιστροφής</title>
      <para>Μπορείτε να πάρετε τον συζυγή ενός ανάστροφου πίνακα χρησιμοποιώντας τον τελεστή <literal>'</literal>. Δηλαδή, η καταχώριση στην <varname>i</varname>στη στήλη και στην <varname>j</varname>στη γραμμή θα είναι ο μιγαδικός συζυγής της καταχώρισης στη <varname>j</varname>στη στήλη και την <varname>i</varname>στη γραμμή του αρχικού πίνακα. Για παράδειγμα: <programlisting>[1,2,3]*[4,5,6]'
</programlisting> Αναστρέφουμε το δεύτερο διάνυσμα για να κάνουμε τον πολλαπλασιασμό του πίνακα δυνατό. Αν θέλετε απλά να αναστρέψετε έναν πίνακα χωρίς να πάρετε τον συζυγή του, μπορείτε να χρησιμοποιήσετε τον τελεστή <literal>.'</literal>. Για παράδειγμα: <programlisting>[1,2,3]*[4,5,6i].'
</programlisting></para>
	<para>Σημειώστε ότι ο κανονικός ανάστροφος, δηλαδή ο τελεστής <literal>.'</literal>, είναι πολύ γρηγορότερος και δεν θα δημιουργήσει ένα νέο αντίγραφο του πίνακα στη μνήμη. Η αναστροφή του συζυγή δεν δημιουργεί ένα νέο αντίγραφο δυστυχώς. Συνιστάται να χρησιμοποιείτε πάντα τον τελεστή <literal>.'</literal> όταν δουλεύετε με πραγματικούς πίνακες και διανύσματα.</para>
    </sect1>

    <sect1 id="genius-gel-matrix-linalg">
      <title>Γραμμική Άλγεβρα</title>
      <para>Η Genius υλοποιεί πολλές χρήσιμες ρουτίνες χειρισμού γραμμικής άλγεβρας και πινάκων. Δείτε <link linkend="genius-gel-function-list-linear-algebra">γραμμική άλγεβρα</link> και τις ενότητες <link linkend="genius-gel-function-list-matrix">Χειρισμός πίνακα</link> του καταλόγου συναρτήσεων GEL.</para>
      <para>Οι υλοποιούμενες ρουτίνες γραμμικής άλγεβρας στο GEL δεν έρχονται προς το παρόν από ένα καλά ελεγμένο αριθμητικό πακέτο και έτσι δεν πρέπει να χρησιμοποιηθούν για κρίσιμους αριθμητικούς υπολογισμούς. Από την άλλη μεριά, η Genius υλοποιεί πολύ καλά πολλές πράξεις γραμμικής άλγεβρας με ρητούς και ακέραιους συντελεστές. Αυτές είναι έμφυτα ακριβείς και στην πραγματικότητα θα σας δώσουν πολύ καλύτερα αποτελέσματα από τις συνηθισμένες ρουτίνες διπλής ακρίβειας για γραμμική άλγεβρα.</para>
      <para>Για παράδειγμα, είναι χωρίς νόημα να υπολογίσετε την τάξη και μηδενικό χώρο ενός πίνακα κινητής υποδιαστολής αφού για όλους τους πρακτικούς σκοπούς, χρειάζεται να θεωρήσουμε ότι ο πίνακας έχει κάποια μικρά σφάλματα. Είναι πιθανό να πάρετε ένα διαφορετικό αποτέλεσμα από αυτό που περιμένετε. Το πρόβλημα είναι κάτω από μια μικρή διαταραχή κάθε πίνακας είναι πλήρους τάξης και αντιστρέψιμος. Αν ο πίνακας όμως είναι ρητών αριθμών, τότε η τάξη και ο μηδενικός χώρος είναι πάντα ακριβείς.</para>
      <para>Γενικά, όταν η Genius υπολογίζει τη βάση συγκεκριμένου διανυσματικού χώρου (για παράδειγμα με την <link linkend="gel-function-NullSpace"><function>NullSpace</function></link>) θα δώσει τη βάση ως πίνακα, στον οποίον οι στήλες είναι τα διανύσματα της βάσης. Δηλαδή, όταν η Genius μιλά για έναν γραμμικό υπόχωρο σημαίνει ένας πίνακας του οποίου ο χώρος στηλών είναι ο δοσμένος γραμμικός υπόχωρος.</para>
      <para>Θα πρέπει να σημειωθεί ότι η Genius μπορεί να θυμάται συγκεκριμένες ιδιότητες ενός πίνακα. Για παράδειγμα, θα θυμάται ότι ο πίνακας είναι σε ανηγμένη μορφή γραμμής. Αν γίνουν πολλές κλήσεις σε συναρτήσεις που χρησιμοποιούν εσωτερικά ανηγμένη μορφή γραμμής του πίνακα, μπορούμε απλά να μειώσουμε τη γραμμή του πίνακα προκαταβολικά μια φορά. Διαδοχικές κλήσεις στο <link linkend="gel-function-rref"><function>rref</function></link> θα είναι πολύ γρήγορες.</para>
    </sect1>

  </chapter>

  <!-- ============= Polynomials ============================== -->
  <chapter id="genius-gel-polynomials">
    <title>Πολυώνυμα στην GEL</title>

    <para>Προς το παρόν η Genius μπορεί να χειριστεί πολυώνυμα μιας μεταβλητής γραμμένα ως διανύσματα και να κάνει μερικές βασικές πράξεις με αυτές. Είναι προγραμματισμένο να επεκτείνει αυτήν την υποστήριξη παραπέρα.</para>

    <sect1 id="genius-gel-polynomials-using">
      <title>Χρήση πολυωνύμων</title>
      <para>Προς το παρόν πολυώνυμα με μια μεταβλητή είναι μόνο οριζόντια διανύσματα με τιμή μόνο κόμβων. Η δύναμη του όρου είναι η θέση στο διάνυσμα, με την πρώτη θέση να είναι το 0. Έτσι, το <programlisting>[1,2,3]
</programlisting> μεταφράζεται σε ένα πολυωνύμου του <programlisting>1 + 2*x + 3*x^2
</programlisting></para>
      <para>Μπορείτε να προσθέσετε, αφαιρέσετε και να πολλαπλασιάσετε πολυώνυμα χρησιμοποιώντας τις συναρτήσεις <link linkend="gel-function-AddPoly"><function>AddPoly</function></link>, <link linkend="gel-function-SubtractPoly"><function>SubtractPoly</function></link> και <link linkend="gel-function-MultiplyPoly"><function>MultiplyPoly</function></link> αντίστοιχα. Μπορείτε να εκτυπώσετε ένα πολυώνυμο χρησιμοποιώντας τη συνάρτηση <link linkend="gel-function-PolyToString"><function>PolyToString</function></link>. Για παράδειγμα, το <programlisting>PolyToString([1,2,3],"y")
</programlisting> δίνει <programlisting>3*y^2 + 2*y + 1
</programlisting> Μπορείτε επίσης να πάρετε μια αναπαράσταση συνάρτησης του πολυωνύμου έτσι ώστε να μπορέσετε την υπολογίσετε. Αυτό γίνεται χρησιμοποιώντας την <link linkend="gel-function-PolyToFunction"><function>PolyToFunction</function></link>, που επιστρέφει μια ανώνυμη συνάρτηση. <programlisting>f = PolyToFunction([0,1,1])
f(2)
</programlisting></para>
      <para>Είναι επίσης δυνατό να βρείτε ρίζες πολυωνύμων βαθμών 1 μέχρι 4 χρησιμοποιώντας τη συνάρτηση <link linkend="gel-function-PolynomialRoots"><function>PolynomialRoots</function></link>, που καλεί τη συνάρτηση κατάλληλου τύπου. Πολυώνυμα μεγαλύτερου βαθμού πρέπει να μετατραπούν σε συναρτήσεις και να επιλυθούν αριθμητικά χρησιμοποιώντας μια συνάρτηση όπως οι <link linkend="gel-function-FindRootBisection"><function>FindRootBisection</function></link>, <link linkend="gel-function-FindRootFalsePosition"><function>FindRootFalsePosition</function></link>, <link linkend="gel-function-FindRootMullersMethod"><function>FindRootMullersMethod</function></link>, ή <link linkend="gel-function-FindRootSecant"><function>FindRootSecant</function></link>.</para>
      <para>Δείτε <xref linkend="genius-gel-function-list-polynomials"/> στον κατάλογο συναρτήσεων για τις υπόλοιπες συναρτήσεις που δρουν σε πολυώνυμα.</para>
    </sect1>

  </chapter>

  <!-- ============= Set Theory ============================== -->
  <chapter id="genius-gel-settheory">
    <title>Θεωρία συνόλων στη GEL</title>

    <para>Η Genius έχει κάποια βασική θεωρητική λειτουργικότητα συνόλων ενσωματωμένη. Προς το παρόν ένα σύνολο είναι απλά ένα διάνυσμα (ή πίνακας). Κάθε ξεχωριστό αντικείμενο αντιμετωπίζεται ως διαφορετικό στοιχείο.</para>

    <sect1 id="genius-gel-sets-using">
      <title>Χρήση συνόλων</title>
      <para>Ακριβώς όπως τα διανύσματα, τα αντικείμενα στα σύνολα μπορούν να περιλαμβάνουν αριθμούς, συμβολοσειρές <constant>null</constant>, πίνακες και διανύσματα. Σχεδιάζεται στο μέλλον να υπάρχει ένας αποκλειστικός τύπος για σύνολα, αντί να χρησιμοποιούνται διανύσματα. Σημειώστε ότι οι αριθμοί κινητής υποδιαστολής είναι διακριτοί από τους ακέραιους, ακόμα κι αν εμφανίζονται το ίδιο. Δηλαδή η Genius θα θεωρήσει τις <constant>0</constant> και <constant>0.0</constant> ως δύο διαφορετικά στοιχεία. Η <constant>null</constant> αντιμετωπίζεται ως ένα κενό σύνολο.</para>
      <para>Για να δομήσετε ένα σύνολο από ένα διάνυσμα, χρησιμοποιήστε τη συνάρτηση <link linkend="gel-function-MakeSet"><function>MakeSet</function></link>. Προς το παρόν, θα επιστρέψει απλά ένα νέο διάνυσμα, όπου κάθε στοιχείο είναι μοναδικό. <screen><prompt>genius&gt; </prompt><userinput>MakeSet([1,2,2,3])</userinput>
= [1, 2, 3]
</screen></para>

	<para>Παρόμοια, υπάρχουν συναρτήσεις <link linkend="gel-function-Union"><function>Union</function></link>, <link linkend="gel-function-Intersection"><function>Intersection</function></link>, <link linkend="gel-function-SetMinus"><function>SetMinus</function></link>, που είναι μάλλον αυτονόητες. Για παράδειγμα: <screen><prompt>genius&gt; </prompt><userinput>Union([1,2,3], [1,2,4])</userinput>
= [1, 2, 4, 3]
</screen> Σημειώστε ότι δεν εγγυάται καμία τάξη για τις τιμές επιστροφής. Αν θέλετε να ταξινομήσετε το διάνυσμα θα πρέπει να χρησιμοποιήσετε τη συνάρτηση <link linkend="gel-function-SortVector"><function>SortVector</function></link>.</para>

	<para>Για τον έλεγχο μέλους, υπάρχουν συναρτήσεις <link linkend="gel-function-IsIn"><function>IsIn</function></link> and <link linkend="gel-function-IsSubset"><function>IsSubset</function></link>, που επιστρέφουν μια τιμή Μπουλ. Για παράδειγμα: <screen><prompt>genius&gt; </prompt><userinput>IsIn (1, [0,1,2])</userinput>
= true
</screen> Η είσοδος <userinput>IsIn(x,X)</userinput> είναι φυσικά ισοδύναμη με <userinput>IsSubset([x],X)</userinput>. Σημειώστε ότι, αφού το κενό σύνολο είναι ένα υποσύνολο κάθε συνόλου, η <userinput>IsSubset(null,X)</userinput> είναι πάντα αληθής.</para>

    </sect1>

  </chapter>

  <!-- ============= GEL function list ======================== -->
  <chapter id="genius-gel-function-list">
    <title>Κατάλογος συναρτήσεων της GEL</title>

    <!--&gel-function-list;-->

    <para>Για να πάρετε βοήθεια σε μια συγκεκριμένη συνάρτηση από την κονσόλα πληκτρολογήστε: <programlisting>βοήθεια FunctionName
</programlisting></para>

    <sect1 id="genius-gel-function-list-commands">
      <title>Εντολές</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-command-help"/>help</term>
         <listitem>
          <synopsis>βοήθεια</synopsis>
          <synopsis>βοήθεια FunctionName</synopsis>
          <para>Εμφάνιση βοήθειας (ή βοήθεια για μια συνάρτηση/εντολή).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-command-load"/>load</term>
         <listitem>
          <synopsis>load "file.gel"</synopsis>
          <para>Load a file into the interpreter.  The file will execute
as if it were typed onto the command line.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-command-cd"/>cd</term>
         <listitem>
          <synopsis>cd /directory/name</synopsis>
          <para>Αλλαγή καταλόγου εργασίας σε <filename>/directory/name</filename>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-command-pwd"/>pwd</term>
         <listitem>
          <synopsis>pwd</synopsis>
          <para>Εμφάνιση του τρέχοντος καταλόγου εργασίας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-command-ls"/>ls</term>
         <listitem>
          <synopsis>ls</synopsis>
          <para>Λίστα αρχείων στον τρέχοντα κατάλογο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-command-plugin"/>plugin</term>
         <listitem>
          <synopsis>plugin plugin_name</synopsis>
          <para>Φόρτωση ενός προσθέτου. Το πρόσθετο πρέπει να εγκατασταθεί στο σύστημα στο σωστό κατάλογο.</para>
         </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-basic">
      <title>Βασικά</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-AskButtons"/>AskButtons</term>
         <listitem>
          <synopsis>AskButtons (query)</synopsis>
          <synopsis>AskButtons (query, button1, ...)</synopsis>
	  <para>Ερωτά και παρουσιάζει έναν κατάλογο κουμπιών στον χρήστη (ή ένα μενού επιλογών σε κατάσταση κειμένου). Επιστρέφει τον δείκτη με βάση το 1 του πατημένου κουμπιού. Δηλαδή, επιστρέφει 1 αν το πρώτο κουμπί πατήθηκε, 2 αν το δεύτερο κουμπί πατήθηκε και ούτω καθεξής. Αν ο χρήστης κλείσει το παράθυρο (ή απλά πατήσει εισαγωγή στην κατάσταση κειμένου), τότε η <constant>null</constant> επιστρέφεται. Η εκτέλεση του προγράμματος εμποδίζεται μέχρι να απαντήσει ο χρήστης.</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-AskString"/>AskString</term>
         <listitem>
          <synopsis>AskString (query)</synopsis>
          <synopsis>AskString (query, default)</synopsis>
          <para>Asks a question and lets the user enter a string, which
it then returns.  If the user cancels or closes the window, then
<constant>null</constant> is returned.  The execution of the program
is blocked until the user responds.  If <varname>default</varname> is given, then it is pre-typed in for the user to just press enter on (version 1.0.6 onwards).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Compose"/>Compose</term>
         <listitem>
          <synopsis>Compose (f,g)</synopsis>
          <para>Σύνθεση δύο συναρτήσεων και επιστροφή μιας συνάρτησης που είναι η σύνθεση των <function>f</function> και <function>g</function>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ComposePower"/>ComposePower</term>
         <listitem>
          <synopsis>ComposePower (f,n,x)</synopsis>
          <para>Σύνθεση και εκτέλεση μιας συνάρτησης με τον εαυτό της <varname>n</varname> φορές, μεταβιβάζοντας την <varname>x</varname> ως όρισμα. Επιστροφή της <varname>x</varname> αν η <varname>n</varname> είναι ίση με 0. Παράδειγμα: <screen><prompt>genius&gt;</prompt> <userinput>function f(x) = x^2 ;</userinput>
<prompt>genius&gt;</prompt> <userinput>ComposePower (f,3,7)</userinput>
= 5764801
<prompt>genius&gt;</prompt> <userinput>f(f(f(7)))</userinput>
= 5764801
</screen></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Evaluate"/>Evaluate</term>
         <listitem>
          <synopsis>Evaluate (str)</synopsis>
          <para>Αναλύει και υπολογίζει μια συμβολοσειρά.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><anchor id="gel-function-GetCurrentModulo"/>GetCurrentModulo</term>
         <listitem>
          <synopsis>GetCurrentModulo</synopsis>
          <para>Λήψη του τρέχοντος ισοϋπόλοιπου από το περιεχόμενο έξω από τη συνάρτηση. Δηλαδή, αν εκτελέστηκε έξω από την συνάρτηση σε modulo (χρησιμοποιώντας <literal>mod</literal>), τότε αυτό επιστρέφει ποιο ήταν αυτό το modulo. Κανονικά το καλούμενο σώμα της συνάρτησης δεν εκτελείται σε αριθμητική υπολοίπων και αυτή η ενσωματωμένη συνάρτηση κάνει δυνατή την ενημέρωση των συναρτήσεων GEL αριθμητικής υπολοίπων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Identity"/>Identity</term>
         <listitem>
          <synopsis>Identity (x)</synopsis>
          <para>Η συνάρτηση ταυτότητας, επιστρέφει το όρισμα της.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IntegerFromBoolean"/>IntegerFromBoolean</term>
         <listitem>
          <synopsis>IntegerFromBoolean (bval)</synopsis>
	  <para>Κάνει τον ακέραιο (0 για <constant>ψευδή</constant> ή 1 για <constant>αληθή</constant>) από μια τιμή Μπουλ. Η <varname>bval</varname> μπορεί επίσης να είναι ένας αριθμός οπότε μια μη μηδενική τιμή θα ερμηνευτεί ως <constant>αληθής</constant> και το μηδέν θα ερμηνευτεί ως <constant>ψευδής</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsBoolean"/>IsBoolean</term>
         <listitem>
          <synopsis>IsBoolean (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι τιμή Μπουλ (και όχι αριθμός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsDefined"/>IsDefined</term>
         <listitem>
          <synopsis>IsDefined (id)</synopsis>
          <para>Ελέγχει αν ένα αναγνωριστικό ορίζεται. Θα πρέπει να περάσετε μια συμβολοσειρά ή και αναγνωριστικό. Αν περάσετε έναν πίνακα, κάθε καταχώριση θα υπολογιστεί ξεχωριστά και ο πίνακας πρέπει να περιέχει συμβολοσειρές ή αναγνωριστικά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsFunction"/>IsFunction</term>
         <listitem>
          <synopsis>IsFunction (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι συνάρτηση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsFunctionOrIdentifier"/>IsFunctionOrIdentifier</term>
         <listitem>
          <synopsis>IsFunctionOrIdentifier (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι συνάρτηση ή ένα αναγνωριστικό.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsFunctionRef"/>IsFunctionRef</term>
         <listitem>
          <synopsis>IsFunctionRef (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι μια συνάρτηση αναφοράς. Αυτό περιλαμβάνει αναφορές μεταβλητών.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrix"/>IsMatrix</term>
         <listitem>
          <synopsis>IsMatrix (arg)</synopsis>
          <para>Ελέγχει αν ένα όρισμα είναι ένας πίνακας. Αν και η <constant>null</constant> θεωρείται μερικές φορές ως κενός πίνακας, η συνάρτηση <function>IsMatrix</function> δεν θεωρεί την <constant>null</constant> ως πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsNull"/>IsNull</term>
         <listitem>
          <synopsis>IsNull (arg)</synopsis>
	  <para>Ελέγχει αν το όρισμα είναι μια <constant>null</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsString"/>IsString</term>
         <listitem>
          <synopsis>IsString (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι μια συμβολοσειρά κειμένου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsValue"/>IsValue</term>
         <listitem>
          <synopsis>IsValue (arg)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι αριθμός.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Parse"/>Parse</term>
         <listitem>
          <synopsis>Parse (str)</synopsis>
          <para>Αναλύει, αλλά δεν υπολογίζει μια συμβολοσειρά. Σημειώστε ότι, συγκεκριμένος προϋπολογισμός γίνεται κατά τη διάρκεια του σταδίου ανάλυσης.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetFunctionFlags"/>SetFunctionFlags</term>
         <listitem>
          <synopsis>SetFunctionFlags (id,flags...)</synopsis>
          <para>Ορίζει σημαίες για μια συνάρτηση, προς το παρόν <literal>"PropagateMod"</literal> and <literal>"NoModuloArguments"</literal>. Αν η <literal>"PropagateMod"</literal> οριστεί, τότε το σώμα της συνάρτησης υπολογίζεται σε αριθμητική υπολοίπων, όταν η συνάρτηση καλείται μέσα σε μια ομάδα που υπολογίστηκε χρησιμοποιώντας αριθμητική υπολοίπων (χρησιμοποιώντας <literal>mod</literal>). Αν είναι <literal>"NoModuloArguments"</literal>, τότε τα ορίσματα της συνάρτησης δεν υπολογίζονται ποτέ χρησιμοποιώντας αριθμητική υπολοίπων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetHelp"/>SetHelp</term>
         <listitem>
          <synopsis>SetHelp (id,category,desc)</synopsis>
          <para>Ορισμός της γραμμής περιγραφής κατηγορίας και βοήθειας για μια συνάρτηση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetHelpAlias"/>SetHelpAlias</term>
         <listitem>
          <synopsis>SetHelpAlias (id,alias)</synopsis>
          <para>Εγκαθιστά μια παραλλαγή βοήθειας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-chdir"/>chdir</term>
         <listitem>
          <synopsis>chdir (dir)</synopsis>
          <para>Αλλάζει τον τρέχοντα κατάλογο, το ίδιο με <command>cd</command>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CurrentTime"/>CurrentTime</term>
         <listitem>
          <synopsis>CurrentTime</synopsis>
          <para>Επιστρέφει τον τρέχοντα χρόνο Γιούνιξ με ακρίβεια μικροδευτερολέπτου ως έναν αριθμό κινητής υποδιαστολής. Δηλαδή, επιστρέφει τον αριθμό των δευτερολέπτων από την 1η Ιανουαρίου 1970.</para>
	  <para>Version 1.0.15 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-display"/>display</term>
         <listitem>
          <synopsis>display (str,expr)</synopsis>
          <para>Εμφανίζει μια συμβολοσειρά και μια έκφραση με άνω-κάτω τελεία για να τις διακρίνει.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DisplayVariables"/>DisplayVariables</term>
         <listitem>
          <synopsis>DisplayVariables (var1,var2,...)</synopsis>
	  <para>Display set of variables.  The variables can be given as
		  strings or identifiers.  For example:
	    <programlisting>DisplayVariables(`x,`y,`z)
	    </programlisting>
	  </para>
	  <para>
		  If called without arguments (must supply empty argument list) as
	    <programlisting>DisplayVariables()
	    </programlisting>
	    then all variables are printed including a stacktrace similar to
	    <guilabel>Show user variables</guilabel> in the graphical version.
	  </para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-error"/>error</term>
         <listitem>
          <synopsis>error (str)</synopsis>
          <para>Εμφανίζει μια συμβολοσειρά στη ροή σφάλματος (στην κονσόλα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-exit"/>exit</term>
         <listitem>
          <synopsis>exit</synopsis>
          <para>Παραλλαγές: <function>quit</function></para>
          <para>Φεύγει από το πρόγραμμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-false"/>false</term>
         <listitem>
          <synopsis>false</synopsis>
          <para>Παραλλαγές: <function>False</function><function>FALSE</function></para>
	  <para>Η τιμή Μπουλ <constant>ψευδές</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-manual"/>manual</term>
         <listitem>
          <synopsis>manual</synopsis>
          <para>Προβολή του εγχειριδίου χρήστη.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-print"/>print</term>
         <listitem>
          <synopsis>print (str)</synopsis>
          <para>Εμφανίζει μια παράσταση και έπειτα δίνει μια νέα γραμμή. Το όρισμα <varname>str</varname> μπορεί να είναι οποιαδήποτε παράσταση. Γίνεται συμβολοσειρά πριν την εμφάνιση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-printn"/>printn</term>
         <listitem>
          <synopsis>printn (str)</synopsis>
          <para>Εμφανίζει μια παράσταση χωρίς μια τελική νέα γραμμή. Το όρισμα <varname>str</varname> μπορεί να είναι οποιαδήποτε παράσταση. Γίνεται συμβολοσειρά πριν την εμφάνιση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PrintTable"/>PrintTable</term>
         <listitem>
          <synopsis>PrintTable (f,v)</synopsis>
	  <para>Print a table of values for a function.  The values are in the 
		  vector <varname>v</varname>.  You can use the vector
		  building notation as follows:
      		  <programlisting>PrintTable (f,[0:10])
	    </programlisting>
	    If <varname>v</varname> is a positive integer, then the table of
	    integers from 1 up to and including v will be used.
	  </para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-protect"/>protect</term>
         <listitem>
          <synopsis>protect (id)</synopsis>
          <para>Προστατεύει μια μεταβλητή από τροποποίηση. Αυτό χρησιμοποιείται στις εσωτερικές συναρτήσεις GEL για να αποφευχθεί η τυχαία αντικατάστασή τους.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ProtectAll"/>ProtectAll</term>
         <listitem>
          <synopsis>ProtectAll ()</synopsis>
          <para>Προστατεύει όλες τις τρέχουσες ορισμένες μεταβλητές, παραμέτρους και συναρτήσεις από τροποποίηση. Αυτό χρησιμοποιείται στις εσωτερικές συναρτήσεις GEL για να αποφευχθεί η τυχαία αντικατάστασή τους. Κανονικά το <application>Εργαλείο μαθηματικών Genius</application> θεωρεί απροστάτευτες τις μεταβλητές που όρισε ο χρήστης.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-set"/>set</term>
         <listitem>
          <synopsis>set (id,val)</synopsis>
          <para>Set a global variable.  The <varname>id</varname>
            can be either a string or a quoted identifier.
	    For example:
	    <programlisting>set(`x,1)
	    </programlisting>
	    will set the global variable <varname>x</varname> to the value 1.
	  </para>
	  <para>The function returns the <varname>val</varname>, to be
	  usable in chaining.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetElement"/>SetElement</term>
         <listitem>
          <synopsis>SetElement (id,row,col,val)</synopsis>
	  <para>Set an element of a global variable which is a matrix.
		  The <varname>id</varname>
            can be either a string or a quoted identifier.
	    For example:
	    <programlisting>SetElement(`x,2,3,1)
	    </programlisting>
	    will set the second row third column element of the global variable <varname>x</varname> to the value 1.  If no global variable of the name exists, or if it is set to something that's not a matrix, a new zero matrix of appropriate size will be created.
	  </para>
	  <para>The <varname>row</varname> and <varname>col</varname> can also be ranges, and the semantics are the same as for regular setting of the elements with an equals sign.
	  </para>
	  <para>The function returns the <varname>val</varname>, to be
	  usable in chaining.</para>
	  <para>Available from 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetVElement"/>SetVElement</term>
         <listitem>
          <synopsis>SetElement (id,elt,val)</synopsis>
	  <para>Set an element of a global variable which is a vector.
		  The <varname>id</varname>
            can be either a string or a quoted identifier.
	    For example:
	    <programlisting>SetElement(`x,2,1)
	    </programlisting>
	    will set the second element of the global vector variable <varname>x</varname> to the value 1.  If no global variable of the name exists, or if it is set to something that's not a vector (matrix), a new zero row vector of appropriate size will be created.
	  </para>
	  <para>The <varname>elt</varname> can also be a range, and the semantics are the same as for regular setting of the elements with an equals sign.
	  </para>
	  <para>The function returns the <varname>val</varname>, to be
	  usable in chaining.</para>
	  <para>Available from 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-string"/>string</term>
         <listitem>
          <synopsis>string (s)</synopsis>
          <para>Δημιουργία συμβολοσειράς. Αυτή θα δημιουργήσει μια συμβολοσειρά από οποιοδήποτε όρισμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-true"/>true</term>
         <listitem>
          <synopsis>true</synopsis>
          <para>Παραλλαγές: <function>True</function><function>TRUE</function></para>
	  <para>Η τιμή Μπουλ <constant>true</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-undefine"/>undefine</term>
         <listitem>
          <synopsis>undefine (id)</synopsis>
          <para>Παραλλαγές: <function>Undefine</function></para>
          <para>Αποκαθορισμός μεταβλητής. Αυτό περιλαμβάνει τοπικές και καθολικές, κάθε τιμή σε όλα τα επίπεδα περιεχομένου καθαρίζεται. Αυτή η συνάρτηση πρέπει πραγματικά να μην χρησιμοποιηθεί σε τοπικές μεταβλητές. Ένα διάνυσμα αναγνωριστικών μπορεί επίσης να περαστεί για αποκαθορισμό πολλών μεταβλητών.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-UndefineAll"/>UndefineAll</term>
         <listitem>
          <synopsis>UndefineAll ()</synopsis>
	  <para>Αποκαθορίζει όλες τις απροστάτευτες καθολικές μεταβλητές (συμπεριλαμβάνοντας συναρτήσεις και παραμέτρους). Κανονικά το <application>Εργαλείο μαθηματικών Genius</application> θεωρεί τις προστατευμένες μεταβλητές ως ορισμένες από το σύστημα συναρτήσεις και μεταβλητές. Σημειώστε ότι η <function>UndefineAll</function> αφαιρεί μόνο τον καθολικό ορισμό των συμβόλων και όχι των τοπικών, έτσι ώστε να μπορεί να εκτελεστεί μέσα από άλλες συναρτήσεις με ασφάλεια.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-unprotect"/>unprotect</term>
         <listitem>
          <synopsis>unprotect (id)</synopsis>
          <para>Αφαιρεί την προστασία μιας μεταβλητής από τροποποίηση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-UserVariables"/>UserVariables</term>
         <listitem>
          <synopsis>UserVariables ()</synopsis>
          <para>Επιστρέφει ένα διάνυσμα αναγνωριστικών ορισμένων από τον χρήστη (απροστάτευτων) καθολικών μεταβλητών.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-wait"/>wait</term>
         <listitem>
          <synopsis>wait (secs)</synopsis>
          <para>Περιμένει ορισμένα δευτερόλεπτα. Η <varname>secs</varname> πρέπει να είναι μη αρνητική. Το μηδέν γίνεται δεκτό και τίποτα δεν συμβαίνει σε αυτήν την περίπτωση, εκτός από το ότι πιθανά συμβάντα διεπαφής χρήστη επεξεργάζονται.</para>
	  <para>Since version 1.0.18, <varname>secs</varname> can be a noninteger number, so
		  <userinput>wait(0.1)</userinput> will wait for one tenth of a second.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-version"/>version</term>
         <listitem>
          <synopsis>version</synopsis>
          <para>Επιστρέφει την έκδοση του Genius ως ένα οριζόντιο διάνυσμα 3 με πρώτη την κύρια έκδοση, έπειτα την δευτερεύουσα και τελικά το επίπεδο διόρθωσης.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-warranty"/>warranty</term>
         <listitem>
          <synopsis>warranty</synopsis>
          <para>Δίνει τις πληροφορίες εγγύησης.</para>
         </listitem>
        </varlistentry>
      </variablelist>

    </sect1>

    <sect1 id="genius-gel-function-parameters">
      <title>Παράμετροι</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-ChopTolerance"/>ChopTolerance</term>
         <listitem>
          <synopsis>ChopTolerance = number</synopsis>
          <para>Ανοχή της συνάρτησης <function>Chop</function>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ContinuousNumberOfTries"/>ContinuousNumberOfTries</term>
         <listitem>
          <synopsis>ContinuousNumberOfTries = number</synopsis>
          <para>Αριθμός επαναλήψεων για την εύρεση του ορίου για τη συνέχεια και τα όρια.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ContinuousSFS"/>ContinuousSFS</term>
         <listitem>
          <synopsis>ContinuousSFS = number</synopsis>
          <para>Αριθμός διαδοχικών βημάτων για να είναι μέσα στην ανοχή για τον υπολογισμό της συνέχειας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ContinuousTolerance"/>ContinuousTolerance</term>
         <listitem>
          <synopsis>ContinuousTolerance = number</synopsis>
          <para>Η ανοχή για συνέχεια των συναρτήσεων και για υπολογισμό του ορίου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DerivativeNumberOfTries"/>DerivativeNumberOfTries</term>
         <listitem>
          <synopsis>DerivativeNumberOfTries = number</synopsis>
          <para>Αριθμός επαναλήψεων για την εύρεση του ορίου για την παράγωγο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DerivativeSFS"/>DerivativeSFS</term>
         <listitem>
          <synopsis>DerivativeSFS = number</synopsis>
          <para>Αριθμός διαδοχικών βημάτων για να είναι μέσα στην ανοχή για τον υπολογισμό της παραγώγου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DerivativeTolerance"/>DerivativeTolerance</term>
         <listitem>
          <synopsis>DerivativeTolerance = number</synopsis>
          <para>Ανοχή για τον υπολογισμό των παραγώγων των συναρτήσεων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ErrorFunctionTolerance"/>ErrorFunctionTolerance</term>
         <listitem>
          <synopsis>ErrorFunctionTolerance = number</synopsis>
	  <para>Ανοχή της <link linkend="gel-function-ErrorFunction"><function>ErrorFunction</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FloatPrecision"/>FloatPrecision</term>
         <listitem>
          <synopsis>FloatPrecision = number</synopsis>
          <para>Ακρίβεια κινητής υποδιαστολής.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FullExpressions"/>FullExpressions</term>
         <listitem>
          <synopsis>FullExpressions = boolean</synopsis>
          <para>Εμφάνιση πλήρων εκφράσεων, ακόμα κι αν είναι περισσότερες από μία γραμμή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GaussDistributionTolerance"/>GaussDistributionTolerance</term>
         <listitem>
          <synopsis>GaussDistributionTolerance = number</synopsis>
	  <para>Ανοχή της συνάρτησης <link linkend="gel-function-GaussDistribution"><function>GaussDistribution</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IntegerOutputBase"/>IntegerOutputBase</term>
         <listitem>
          <synopsis>IntegerOutputBase = number</synopsis>
          <para>Βάση εξόδου ακεραίων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPrimeMillerRabinReps"/>IsPrimeMillerRabinReps</term>
         <listitem>
          <synopsis>IsPrimeMillerRabinReps = number</synopsis>
	  <para>Αριθμός των πρόσθετων δοκιμών Miller-Rabin που θα εκτελεστούν σε έναν αριθμό πριν τη δήλωση του ως πρώτου στην <link linkend="gel-function-IsPrime"><function>IsPrime</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotDrawLegends"/>LinePlotDrawLegends</term>
         <listitem>
          <synopsis>LinePlotDrawLegends = true</synopsis>
          <para>Λέει στο Genius να σχεδιάσει τα υπομνήματα για τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις γραφικής παράστασης γραμμής</link> όπως <link linkend="gel-function-LinePlot"><function>LinePlot</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotDrawAxisLabels"/>LinePlotDrawAxisLabels</term>
         <listitem>
          <synopsis>LinePlotDrawAxisLabels = true</synopsis>
          <para>Λέει στο Genius να σχεδιάσει τις ετικέτες του άξονα για τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις γραφικής παράστασης γραμμής</link> όπως <link linkend="gel-function-LinePlot"><function>LinePlot</function></link>.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotVariableNames"/>LinePlotVariableNames</term>
         <listitem>
          <synopsis>LinePlotVariableNames = ["x","y","z","t"]</synopsis>
          <para>Λέει στο Genius ποια ονόματα μεταβλητών χρησιμοποιούνται ως προεπιλεγμένα ονόματα για τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις γραφικής παράστασης γραμμής</link> όπως <link linkend="gel-function-LinePlot"><function>LinePlot</function></link> και παρόμοιες.</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotWindow"/>LinePlotWindow</term>
         <listitem>
          <synopsis>LinePlotWindow = [x1,x2,y1,y2]</synopsis>
          <para>Ορίζει τα όρια για τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις γραφικής παράστασης γραμμής</link> όπως <link linkend="gel-function-LinePlot"><function>LinePlot</function></link>.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><anchor id="gel-function-MaxDigits"/>MaxDigits</term>
         <listitem>
          <synopsis>MaxDigits = number</synopsis>
          <para>Μέγιστα αριθμός ψηφίων που θα εμφανίζονται.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MaxErrors"/>MaxErrors</term>
         <listitem>
          <synopsis>MaxErrors = number</synopsis>
          <para>Μέγιστος αριθμός σφαλμάτων που θα εμφανίζονται.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MixedFractions"/>MixedFractions</term>
         <listitem>
          <synopsis>MixedFractions = boolean</synopsis>
          <para>Αν είναι αληθές, εμφανίζονται μικτά κλάσματα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalIntegralFunction"/>NumericalIntegralFunction</term>
         <listitem>
          <synopsis>NumericalIntegralFunction = function</synopsis>
	  <para>Η χρησιμοποιούμενη συνάρτηση για αριθμητική ολοκλήρωση στη <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalIntegralSteps"/>NumericalIntegralSteps</term>
         <listitem>
          <synopsis>NumericalIntegralSteps = number</synopsis>
	  <para>Βήματα για εκτέλεση στη <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OutputChopExponent"/>OutputChopExponent</term>
         <listitem>
          <synopsis>OutputChopExponent = number</synopsis>
	  <para>Όταν ένας άλλος αριθμός στο αντικείμενο εμφανίζεται (πίνακας ή τιμή) που είναι μεγαλύτερος από 10<superscript>-OutputChopWhenExponent</superscript> και ο εμφανιζόμενος αριθμός είναι μικρότερος από 10<superscript>-OutputChopExponent</superscript>, τότε εμφανίζεται ο <computeroutput>0.0</computeroutput> αντί για τον αριθμό.</para>
<para>Η έξοδος δεν είναι ποτέ κομμένη αν η <function>OutputChopExponent</function> είναι μηδέν. Πρέπει να είναι ένας μη αρνητικός ακέραιος.</para>
<para>Αν θέλετε η έξοδος να περικόπτεται πάντα σύμφωνα με την <function>OutputChopExponent</function>, τότε ορίστε την <function>OutputChopWhenExponent</function>, σε κάτι μεγαλύτερο από ή ίσο με <function>OutputChopExponent</function>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OutputChopWhenExponent"/>OutputChopWhenExponent</term>
         <listitem>
          <synopsis>OutputChopWhenExponent = number</synopsis>
	  <para>Πότε να περικόψετε την έξοδο. Δείτε <link linkend="gel-function-OutputChopExponent"><function>OutputChopExponent</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OutputStyle"/>OutputStyle</term>
         <listitem>
          <synopsis>OutputStyle = string</synopsis>
          <para>Η τεχνοτροπία εξόδου μπορεί να είναι <literal>κανονική</literal>, <literal>latex</literal>, <literal>mathml</literal> ή <literal>troff</literal>.</para>
	  <para>Αυτή επηρεάζει κυρίως πώς εμφανίζονται οι πίνακες και τα κλάσματα και είναι χρήσιμη για επικόλληση στα έγγραφα. Για παράδειγμα μπορείτε να την ορίσετε σε latex με: <programlisting>OutputStyle = "latex"
</programlisting></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ResultsAsFloats"/>ResultsAsFloats</term>
         <listitem>
          <synopsis>ResultsAsFloats = boolean</synopsis>
          <para>Μετατροπή όλων των αποτελεσμάτων σε αριθμούς κινητής υποδιαστολής πριν την εμφάνιση.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ScientificNotation"/>ScientificNotation</term>
         <listitem>
          <synopsis>ScientificNotation = boolean</synopsis>
          <para>Χρήση επιστημονικής σημειογραφίας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SlopefieldTicks"/>SlopefieldTicks</term>
         <listitem>
          <synopsis>SlopefieldTicks = [vertical,horizontal]</synopsis>
          <para>Ορίζει τον αριθμό των κάθετων και οριζόντιων υποδιαιρέσεων σε μια γραφική παράσταση πεδίου κλίσης. (Δείτε <link linkend="gel-function-SlopefieldPlot"><function>SlopefieldPlot</function></link>).</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SumProductNumberOfTries"/>SumProductNumberOfTries</term>
         <listitem>
          <synopsis>SumProductNumberOfTries = number</synopsis>
	  <para>Πόσες επαναλήψεις να δοκιμαστούν για <link linkend="gel-function-InfiniteSum"><function>InfiniteSum</function></link> και <link linkend="gel-function-InfiniteProduct"><function>InfiniteProduct</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SumProductSFS"/>SumProductSFS</term>
         <listitem>
          <synopsis>SumProductSFS = number</synopsis>
          <para>Πόσα διαδοχικά βήματα να γίνουν μέσα στην ανοχή για <link linkend="gel-function-InfiniteSum"><function>InfiniteSum</function></link> και <link linkend="gel-function-InfiniteProduct"><function>InfiniteProduct</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SumProductTolerance"/>SumProductTolerance</term>
         <listitem>
          <synopsis>SumProductTolerance = number</synopsis>
          <para>Ανοχή για <link linkend="gel-function-InfiniteSum"><function>InfiniteSum</function></link> και <link linkend="gel-function-InfiniteProduct"><function>InfiniteProduct</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotDrawLegends"/>SurfacePlotDrawLegends</term>
         <listitem>
          <synopsis>SurfacePlotDrawLegends = true</synopsis>
          <para>Λέει στο Genius να σχεδιάσει τα υπομνήματα για τις <link linkend="genius-gel-function-list-plotting">συναρτήσεις γραφικής παράστασης επιφάνειας</link> όπως <link linkend="gel-function-SurfacePlot"><function>SurfacePlot</function></link>.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotVariableNames"/>SurfacePlotVariableNames</term>
         <listitem>
          <synopsis>SurfacePlotVariableNames = ["x","y","z"]</synopsis>
          <para>Tells genius which variable names are used as default names for <link linkend="genius-gel-function-list-plotting">surface plotting
	  functions</link> using <link linkend="gel-function-SurfacePlot"><function>SurfacePlot</function></link>.
          Note that the <varname>z</varname> does not refer to the dependent (vertical) axis, but to the independent complex variable
          <userinput>z=x+iy</userinput>.
          </para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotWindow"/>SurfacePlotWindow</term>
         <listitem>
          <synopsis>SurfacePlotWindow = [x1,x2,y1,y2,z1,z2]</synopsis>
          <para>Ορίζει τα όρια για τη γραφική παράσταση επιφάνειας (Δείτε <link linkend="gel-function-SurfacePlot"><function>SurfacePlot</function></link>).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorfieldNormalized"/>VectorfieldNormalized</term>
         <listitem>
          <synopsis>VectorfieldNormalized = true</synopsis>
          <para>Αν θα πρέπει η γραφική παράσταση του διανυσματικού πεδίου να έχει κανονικοποιημένο μήκος βέλους. Αν είναι αληθές, τα διανυσματικά πεδία θα εμφανίσουν μόνο την κατεύθυνση και όχι το μέγεθος. (Δείτε <link linkend="gel-function-VectorfieldPlot"><function>VectorfieldPlot</function></link>).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorfieldTicks"/>VectorfieldTicks</term>
         <listitem>
          <synopsis>VectorfieldTicks = [vertical,horizontal]</synopsis>
          <para>Ορίζει τον αριθμό των κάθετων και οριζόντιων υποδιαιρέσεων σε μια γραφική παράσταση διανυσματικού πεδίου. (Δείτε <link linkend="gel-function-VectorfieldPlot"><function>VectorfieldPlot</function></link>).</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-constants">
      <title>Σταθερές</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-CatalanConstant"/>CatalanConstant</term>
         <listitem>
          <synopsis>CatalanConstant</synopsis>
          <para>Η σταθερά του Catalan, περίπου 0.915... Ορίζεται να είναι η σειρά, όπου οι όροι είναι <userinput>(-1^k)/((2*k+1)^2)</userinput>, με την <varname>k</varname> να κυμαίνεται από 0 μέχρι το άπειρο.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/CatalansConstant.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-EulerConstant"/>EulerConstant</term>
         <listitem>
          <synopsis>EulerConstant</synopsis>
          <para>Παραλλαγές: <function>gamma</function></para>
          <para>Η σταθερά γάμα του Όιλερ. Μερικές φορές λέγεται σταθερά Όιλερ-Μασκερόνι.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Euler-Mascheroni_constant">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/MascheroniConstant.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/Euler-MascheroniConstant.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GoldenRatio"/>GoldenRatio</term>
         <listitem>
          <synopsis>GoldenRatio</synopsis>
          <para>Η χρυσή τομή.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Golden_ratio">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/GoldenRatio.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/GoldenRatio.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Gravity"/>Gravity</term>
         <listitem>
          <synopsis>Gravity</synopsis>
          <para>Επιτάχυνση ελεύθερης πτώσης στο επίπεδο της θάλασσας.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Standard_gravity">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-e"/>e</term>
         <listitem>
          <synopsis>e</synopsis>
          <para>Η βάση του φυσικού λογαρίθμου. <userinput>e^x</userinput> είναι η εκθετική συνάρτηση <link linkend="gel-function-exp"><function>exp</function></link>. Αυτός ο αριθμός είναι περίπου 2.71828182846...</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/E_(mathematical_constant)">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/E.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/e.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-pi"/>pi</term>
         <listitem>
          <synopsis>pi</synopsis>
          <para>Ο αριθμός π, που είναι ο λόγος της περιφέρειας ενός κύκλου προς τη διάμετρό του. Αυτός είναι περίπου 3.14159265359...</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Pi">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/Pi.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/Pi.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-numeric">
      <title>Αριθμητικό</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-AbsoluteValue"/>AbsoluteValue</term>
         <listitem>
          <synopsis>AbsoluteValue (x)</synopsis>
          <para>Παραλλαγές: <function>abs</function></para>
          <para>Η απόλυτη τιμή ενός αριθμού και αν η <varname>x</varname> είναι μία μιγαδική τιμή του modulus της <varname>x</varname>. Δηλαδή, αυτή είναι η απόσταση της <varname>x</varname> από την αρχική.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Absolute_value">Wikipedia</ulink>, <ulink url="http://planetmath.org/encyclopedia/AbsoluteValue.html">Planetmath (absolute value)</ulink>, <ulink url="http://planetmath.org/encyclopedia/ModulusOfComplexNumber.html">Planetmath (modulus)</ulink>, <ulink url="http://mathworld.wolfram.com/AbsoluteValue.html">Mathworld (absolute value)</ulink> or <ulink url="http://mathworld.wolfram.com/ComplexModulus.html">Mathworld (complex modulus)</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Chop"/>Chop</term>
         <listitem>
          <synopsis>Chop (x)</synopsis>
          <para>Αντικατάσταση πολύ μικρού αριθμού με μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ComplexConjugate"/>ComplexConjugate</term>
         <listitem>
          <synopsis>ComplexConjugate (z)</synopsis>
          <para>Παραλλαγές: <function>conj</function><function>Conj</function></para>
          <para>Υπολογίζει τον μιγαδικό συζυγή του μιγαδικού αριθμού <varname>z</varname>. Αν η <varname>z</varname> είναι ένα διάνυσμα ή πίνακας, όλα τα στοιχεία του παίρνουν συζυγή.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Complex_conjugate">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Denominator"/>Denominator</term>
         <listitem>
          <synopsis>Denominator (x)</synopsis>
          <para>Λήψη του παρανομαστή ενός ρητού αριθμού.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Denominator">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FractionalPart"/>FractionalPart</term>
         <listitem>
          <synopsis>FractionalPart (x)</synopsis>
          <para>Επιστροφή του κλασματικού μέρους ενός αριθμού.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fractional_part">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Im"/>Im</term>
         <listitem>
          <synopsis>Im (z)</synopsis>
          <para>Παραλλαγές: <function>ImaginaryPart</function></para>
          <para>Λήψη του φανταστικού μέρους μιγαδικού αριθμού.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Imaginary_part">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IntegerQuotient"/>IntegerQuotient</term>
         <listitem>
          <synopsis>IntegerQuotient (m,n)</synopsis>
          <para>Διαίρεση χωρίς υπόλοιπο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsComplex"/>IsComplex</term>
         <listitem>
          <synopsis>IsComplex (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι μιγαδικός (μη πραγματικός) αριθμός.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsComplexRational"/>IsComplexRational</term>
         <listitem>
          <synopsis>IsComplexRational (num)</synopsis>
	  <para>Ελέγχει αν το όρισμα είναι πιθανόν μιγαδικός ρητός αριθμός. Δηλαδή, αν και το πραγματικό και το φανταστικό μέρος δίνονται ως ρητοί αριθμοί. Φυσικά ρητός σημαίνει απλά "μη αποθηκευμένος ως αριθμός κινητής υποδιαστολής."</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsFloat"/>IsFloat</term>
         <listitem>
          <synopsis>IsFloat (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι ένας αριθμός κινητής υποδιαστολής (μη μιγαδικός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsGaussInteger"/>IsGaussInteger</term>
         <listitem>
          <synopsis>IsGaussInteger (num)</synopsis>
          <para>Παραλλαγές: <function>IsComplexInteger</function></para>
          <para>Ελέγχει αν το όρισμα είναι πιθανόν μιγαδικός ακέραιος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsInteger"/>IsInteger</term>
         <listitem>
          <synopsis>IsInteger (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι ένας ακέραιος (μη μιγαδικός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsNonNegativeInteger"/>IsNonNegativeInteger</term>
         <listitem>
          <synopsis>IsNonNegativeInteger (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι μη αρνητικός πραγματικός ακέραιος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPositiveInteger"/>IsPositiveInteger</term>
         <listitem>
          <synopsis>IsPositiveInteger (num)</synopsis>
          <para>Παραλλαγές: <function>IsNaturalNumber</function></para>
          <para>Ελέγχει αν το όρισμα είναι θετικός πραγματικός ακέραιος. Σημειώστε ότι δεχόμαστε τη σύμβαση ότι το 0 δεν είναι φυσικός αριθμός.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsRational"/>IsRational</term>
         <listitem>
          <synopsis>IsRational (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι ένας ρητός αριθμός (μη μιγαδικός). Φυσικά ρητός σημαίνει απλά "μη αποθηκευμένος ως αριθμός κινητής υποδιαστολής."</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsReal"/>IsReal</term>
         <listitem>
          <synopsis>IsReal (num)</synopsis>
          <para>Ελέγχει αν το όρισμα είναι ένας πραγματικός αριθμός.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Numerator"/>Numerator</term>
         <listitem>
          <synopsis>Numerator (x)</synopsis>
          <para>Λήψη του αριθμητή ενός ρητού αριθμού.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Numerator">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Re"/>Re</term>
         <listitem>
          <synopsis>Re (z)</synopsis>
          <para>Παραλλαγές: <function>RealPart</function></para>
          <para>Λήψη του πραγματικού μέρους μιγαδικού αριθμού.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Real_part">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Sign"/>Sign</term>
         <listitem>
          <synopsis>Sign (x)</synopsis>
          <para>Παραλλαγές: <function>sign</function></para>
          <para>Επιστρέφει το πρόσημο ενός αριθμού. Δηλαδή επιστρέφει <literal>-1</literal> αν η τιμή είναι αρνητική, <literal>0</literal> αν η τιμή είναι μηδέν και <literal>1</literal> αν η τιμή είναι θετική. Αν <varname>x</varname> είναι μια μιγαδική τιμή τότε η <function>Sign</function> επιστρέφει την κατεύθυνση ή 0.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ceil"/>ceil</term>
         <listitem>
          <synopsis>ceil (x)</synopsis>
          <para>Παραλλαγές: <function>Ceiling</function></para>
	  <para>Παίρνει τον πιο μικρό ακέραιο μεγαλύτερο από ή ίσο με τη <varname>n</varname>. Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>ceil(1.1)</userinput>
= 2
<prompt>genius&gt;</prompt> <userinput>ceil(-1.1)</userinput>
= -1
</screen></para>
	   <para>Σημειώστε ότι, θα πρέπει να είσαστε προσεκτικοί ότι οι αριθμοί κινητής υποδιαστολής αποθηκεύονται σε δυαδικό και έτσι μπορεί να μην είναι αυτό που περιμένετε. Για παράδειγμα <userinput>ceil(420/4.2)</userinput> επιστρέφει 101 αντί για το αναμενόμενο 100. Αυτό συμβαίνει επειδή το 4.2 είναι στην πραγματικότητα πολύ λίγο μικρότερο από 4.2. Χρησιμοποιήστε τη ρητή αναπαράσταση <userinput>42/10</userinput> αν θέλετε ακριβή αριθμητικά αποτελέσματα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-exp"/>exp</term>
         <listitem>
          <synopsis>exp (x)</synopsis>
          <para>Η εκθετική συνάρτηση. Αυτή είναι η συνάρτηση <userinput>e^x</userinput> όπου <varname>e</varname> είναι η <link linkend="gel-function-e">βάση του φυσικού λογαρίθμου</link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Exponential_function">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/LogarithmFunction.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/ExponentialFunction.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-float"/>float</term>
         <listitem>
          <synopsis>float (x)</synopsis>
          <para>Δημιουργεί αριθμό τιμής κινητής υποδιαστολής. Δηλαδή επιστρέφει την αναπαράσταση κινητής υποδιαστολής του αριθμού <varname>x</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-floor"/>floor</term>
         <listitem>
          <synopsis>floor (x)</synopsis>
          <para>Παραλλαγές: <function>Floor</function></para>
          <para>Παίρνει τον μεγαλύτερο ακέραιο που είναι μικρότερος από ή ίσος με <varname>n</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ln"/>ln</term>
         <listitem>
          <synopsis>ln (x)</synopsis>
          <para>Ο φυσικός λογάριθμος, ο λογάριθμος με βάση το <varname>e</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-log"/>log</term>
         <listitem>
          <synopsis>log (x)</synopsis>
          <synopsis>log (x,b)</synopsis>
	  <para>Ο λογάριθμος του <varname>x</varname> με βάση <varname>b</varname> (καλεί <link linkend="gel-function-DiscreteLog"><function>DiscreteLog</function></link> αν είναι σε κατάσταση modulo), αν η βάση δεν δίνεται, <link linkend="gel-function-e"><varname>e</varname></link> χρησιμοποιείται.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-log10"/>log10</term>
         <listitem>
          <synopsis>log10 (x)</synopsis>
          <para>Ο λογάριθμος της <varname>x</varname> με βάση 10.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-log2"/>log2</term>
         <listitem>
          <synopsis>log2 (x)</synopsis>
          <para>Παραλλαγές: <function>lg</function></para>
          <para>Ο λογάριθμος του <varname>x</varname> με βάση 2.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-max"/>max</term>
         <listitem>
          <synopsis>max (a,args...)</synopsis>
          <para>Παραλλαγές: <function>Max</function><function>Maximum</function></para>
          <para>Επιστρέφει το μέγιστο των ορισμάτων ή πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-min"/>min</term>
         <listitem>
          <synopsis>min (a,args...)</synopsis>
          <para>Παραλλαγές: <function>Min</function><function>Minimum</function></para>
          <para>Επιστρέφει το ελάχιστο των ορισμάτων ή πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-rand"/>rand</term>
         <listitem>
          <synopsis>rand (size...)</synopsis>
          <para>Δημιουργεί τυχαίο αριθμό κινητής υποδιαστολής στην περιοχή <literal>[0,1)</literal>. Αν το μέγεθος δίνεται, τότε ένας πίνακας (αν δύο αριθμοί ορίζονται) ή ένα διάνυσμα (αν ορίζεται ένας αριθμός) του δοσμένου μεγέθους επιστρέφεται.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-randint"/>randint</term>
         <listitem>
          <synopsis>randint (max,size...)</synopsis>
          <para>Δημιουργεί τυχαίο ακέραιο στην περιοχή <literal>[0,max)</literal>. Αν το μέγεθος δίνεται, τότε ένας πίνακας (αν ορίζονται δύο αριθμοί) ή ένα διάνυσμα (αν ορίζεται ένας αριθμός) του δοσμένου μεγέθους επιστρέφεται. Για παράδειγμα, <screen><prompt>genius&gt;</prompt> <userinput>randint(4)</userinput>
= 3
<prompt>genius&gt;</prompt> <userinput>randint(4,2)</userinput>
=
[0      1]
<prompt>genius&gt;</prompt> <userinput>randint(4,2,3)</userinput>
=
[2      2       1
 0      0       3]
</screen></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-round"/>round</term>
         <listitem>
          <synopsis>round (x)</synopsis>
          <para>Παραλλαγές: <function>Round</function></para>
          <para>Στρογγυλοποίηση αριθμού.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sqrt"/>sqrt</term>
         <listitem>
          <synopsis>sqrt (x)</synopsis>
          <para>Παραλλαγές: <function>SquareRoot</function></para>
          <para>Η τετραγωνική ρίζα. Όταν λειτουργεί modulo κάποιοι ακέραιοι θα επιστρέψουν ή μια <constant>null</constant> ή ένα διάνυσμα τετραγωνικών ριζών. Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>sqrt(2)</userinput>
= 1.41421356237
<prompt>genius&gt;</prompt> <userinput>sqrt(-1)</userinput>
= 1i
<prompt>genius&gt;</prompt> <userinput>sqrt(4) mod 7</userinput>
=
[2      5]
<prompt>genius&gt;</prompt> <userinput>2*2 mod 7</userinput>
= 4
</screen></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/SquareRoot.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-trunc"/>trunc</term>
         <listitem>
          <synopsis>trunc (x)</synopsis>
          <para>Παραλλαγές: <function>Truncate</function><function>IntegerPart</function></para>
          <para>Περικοπή αριθμού σε ακέραιο (επιστροφή του ακέραιου μέρους).</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-trigonometry">
      <title>Τριγωνομετρία</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-acos"/>acos</term>
         <listitem>
          <synopsis>acos (x)</synopsis>
          <para>Παραλλαγές: <function>arccos</function></para>
          <para>Η συνάρτηση arccos (τόξο συνημιτόνου).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-acosh"/>acosh</term>
         <listitem>
          <synopsis>acosh (x)</synopsis>
          <para>Παραλλαγές: <function>arccosh</function></para>
          <para>Η συνάρτηση arccosh (τόξο υπερβολικού συνημιτόνου).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-acot"/>acot</term>
         <listitem>
          <synopsis>acot (x)</synopsis>
          <para>Παραλλαγές: <function>arccot</function></para>
          <para>Η συνάρτηση arccot (τόξο συνεφαπτομένης).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-acoth"/>acoth</term>
         <listitem>
          <synopsis>acoth (x)</synopsis>
          <para>Παραλλαγές: <function>arccoth</function></para>
          <para>Η συνάρτηση arccoth (τόξο υπερβολικής συνεφαπτομένης).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-acsc"/>acsc</term>
         <listitem>
          <synopsis>acsc (x)</synopsis>
          <para>Παραλλαγές: <function>arccsc</function></para>
          <para>Η συνάρτηση τόξου συντέμνουσας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-acsch"/>acsch</term>
         <listitem>
          <synopsis>acsch (x)</synopsis>
          <para>Παραλλαγές: <function>arccsch</function></para>
          <para>Η συνάρτηση τόξου υπερβολικής συντέμνουσας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-asec"/>asec</term>
         <listitem>
          <synopsis>asec (x)</synopsis>
          <para>Παραλλαγές: <function>arcsec</function></para>
          <para>Η συνάρτηση τόξου τέμνουσας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-asech"/>asech</term>
         <listitem>
          <synopsis>asech (x)</synopsis>
          <para>Παραλλαγές: <function>arcsech</function></para>
          <para>Η συνάρτηση τόξου υπερβολικής τέμνουσας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-asin"/>asin</term>
         <listitem>
          <synopsis>asin (x)</synopsis>
          <para>Παραλλαγές: <function>arcsin</function></para>
          <para>Η συνάρτηση arcsin (τόξο ημιτόνου).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-asinh"/>asinh</term>
         <listitem>
          <synopsis>asinh (x)</synopsis>
          <para>Παραλλαγές: <function>arcsinh</function></para>
          <para>Η συνάρτηση arcsinh (τόξο υπερβολικού ημιτόνου).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-atan"/>atan</term>
         <listitem>
          <synopsis>atan (x)</synopsis>
          <para>Παραλλαγές: <function>arctan</function></para>
          <para>Υπολογίζει τη συνάρτηση arctan (τόξο εφαπτομένης).</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Arctangent">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/InverseTangent.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-atanh"/>atanh</term>
         <listitem>
          <synopsis>atanh (x)</synopsis>
          <para>Παραλλαγές: <function>arctanh</function></para>
          <para>Η συνάρτηση arctanh (τόξο υπερβολικής εφαπτομένης).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-atan2"/>atan2</term>
         <listitem>
          <synopsis>atan2 (y, x)</synopsis>
          <para>Παραλλαγές: <function>arctan2</function></para>
          <para>Υπολογίζει τη συνάρτηση arctan2. Αν <userinput>x&gt;0</userinput>, τότε επιστρέφει <userinput>atan(y/x)</userinput>. Αν <userinput>x&lt;0</userinput>, τότε επιστρέφει <userinput>sign(y) * (pi - atan(|y/x|)</userinput>. Όταν <userinput>x=0</userinput> επιστρέφει <userinput>sign(y) *
	  pi/2</userinput>. Η <userinput>atan2(0,0)</userinput> επιστρέφει 0 αντί για αποτυχία.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Atan2">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/InverseTangent.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-cos"/>cos</term>
         <listitem>
          <synopsis>cos (x)</synopsis>
          <para>Υπολογίζει τη συνάρτηση του συνημιτόνου.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-cosh"/>cosh</term>
         <listitem>
          <synopsis>cosh (x)</synopsis>
          <para>Υπολογίζει την συνάρτηση υπερβολικού συνημιτόνου.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-cot"/>cot</term>
         <listitem>
          <synopsis>cot (x)</synopsis>
          <para>Η συνάρτηση συνεφαπτομένης.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-coth"/>coth</term>
         <listitem>
          <synopsis>coth (x)</synopsis>
          <para>Η συνάρτηση υπερβολικής συνεφαπτομένης.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-csc"/>csc</term>
         <listitem>
          <synopsis>csc (x)</synopsis>
          <para>Η συνάρτηση συντέμνουσας.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-csch"/>csch</term>
         <listitem>
          <synopsis>csch (x)</synopsis>
          <para>Η συνάρτηση υπερβολικής συντέμνουσας.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sec"/>sec</term>
         <listitem>
          <synopsis>sec (x)</synopsis>
          <para>Η συνάρτηση τέμνουσας.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sech"/>sech</term>
         <listitem>
          <synopsis>sech (x)</synopsis>
          <para>Η συνάρτηση υπερβολικής τέμνουσας.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sin"/>sin</term>
         <listitem>
          <synopsis>sin (x)</synopsis>
          <para>Υπολογίζει τη συνάρτηση του ημιτόνου.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sinh"/>sinh</term>
         <listitem>
          <synopsis>sinh (x)</synopsis>
          <para>Υπολογίζει την συνάρτηση υπερβολικού ημιτόνου.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-tan"/>tan</term>
         <listitem>
          <synopsis>tan (x)</synopsis>
          <para>Υπολογίζει τη συνάρτηση της εφαπτομένης.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DefinitionsInTrigonometry.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-tanh"/>tanh</term>
         <listitem>
          <synopsis>tanh (x)</synopsis>
          <para>Η συνάρτηση υπερβολικής εφαπτομένης.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HyperbolicFunctions.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-number-theory">
      <title>Θεωρία αριθμών</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-AreRelativelyPrime"/>AreRelativelyPrime</term>
         <listitem>
          <synopsis>AreRelativelyPrime (a,b)</synopsis>
          <para>Είναι οι πραγματικοί ακέραιοι <varname>a</varname> και <varname>b</varname> σχετικοί πρώτοι; Επιστρέφει <constant>αληθές</constant> ή <constant>ψευδές</constant>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/RelativelyPrime.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/RelativelyPrime.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BernoulliNumber"/>BernoulliNumber</term>
         <listitem>
          <synopsis>BernoulliNumber (n)</synopsis>
          <para>Επιστρέφει τον <varname>n</varname>στό αριθμό Bernoulli.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bernoulli_number">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/BernoulliNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ChineseRemainder"/>ChineseRemainder</term>
         <listitem>
          <synopsis>ChineseRemainder (a,m)</synopsis>
          <para>Παραλλαγές: <function>CRT</function></para>
	  <para>Εύρεση του <varname>x</varname> που επιλύει το δοσμένο σύστημα με το διάνυσμα <varname>a</varname> και modulo τα στοιχεία του <varname>m</varname>, χρησιμοποιώντας το θεώρημα υπολοίπου του Κινέζου.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Chinese_remainder_theorem">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/ChineseRemainderTheorem.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/ChineseRemainderTheorem.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CombineFactorizations"/>CombineFactorizations</term>
         <listitem>
          <synopsis>CombineFactorizations (a,b)</synopsis>
	  <para>Με δεδομένες δύο παραγοντοποιήσεις, δίνει την παραγοντοποίηση του γινομένου.</para>
	  <para>Δείτε <link linkend="gel-function-Factorize">παραγοντοποίηση</link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ConvertFromBase"/>ConvertFromBase</term>
         <listitem>
          <synopsis>ConvertFromBase (v,b)</synopsis>
          <para>Μετατρέπει ένα διάνυσμα τιμών που δείχνει δυνάμεις του b στον αριθμό a.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ConvertToBase"/>ConvertToBase</term>
         <listitem>
          <synopsis>ConvertToBase (n,b)</synopsis>
          <para>Μετατρέπει έναν αριθμό σε ένα διάνυσμα δυνάμεων για στοιχεία στη βάση <varname>b</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DiscreteLog"/>DiscreteLog</term>
         <listitem>
          <synopsis>DiscreteLog (n,b,q)</synopsis>
          <para>Βρίσκει τον διακριτό λογάριθμο της <varname>n</varname> με βάση <varname>b</varname> στην F<subscript>q</subscript>, το πεπερασμένο πεδίο τάξης <varname>q</varname>, όπου η <varname>q</varname> είναι ένας πρώτος, χρησιμοποιώντας τον αλγόριθμο Silver-Pohlig-Hellman.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Discrete_logarithm">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/DiscreteLogarithm.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/DiscreteLogarithm.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Divides"/>Divides</term>
         <listitem>
          <synopsis>Divides (m,n)</synopsis>
          <para>Ελέγχει τη διαιρετότητα (αν η <varname>m</varname> διαιρεί την <varname>n</varname>).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-EulerPhi"/>EulerPhi</term>
         <listitem>
          <synopsis>EulerPhi (n)</synopsis>
          <para>Υπολογίζει τη συνάρτηση φι του Όιλερ για την <varname>n</varname>, δηλαδή τον αριθμό των ακεραίων μεταξύ 1 και <varname>n</varname> που είναι σχετικά πρώτοι με την <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Euler_phi">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/EulerPhifunction.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/TotientFunction.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ExactDivision"/>ExactDivision</term>
         <listitem>
          <synopsis>ExactDivision (n,d)</synopsis>
          <para>Επιστρέφει <userinput>n/d</userinput>, αλλά μόνο αν η <varname>d</varname> διαιρεί την <varname>n</varname>. Αν η <varname>d</varname> δεν διαιρεί την <varname>n</varname>, τότε αυτή η συνάρτηση επιστρέφει σκουπίδια. Αυτή είναι πολύ πιο γρήγορη για πολύ μεγάλους αριθμούς από την πράξη <userinput>n/d</userinput>, αλλά φυσικά χρήσιμη μόνο αν ξέρετε ότι η διαίρεση είναι ακριβής.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Factorize"/>Factorize</term>
         <listitem>
          <synopsis>Factorize (n)</synopsis>
          <para>Επιστρέφει την παραγοντοποίηση ενός αριθμού ως πίνακα. Η πρώτη γραμμή είναι οι πρώτοι στην παραγοντοποίηση (συμπεριλαμβάνοντας το 1) και η δεύτερη γραμμή είναι οι δυνάμεις. Έτσι για παράδειγμα: <screen><prompt>genius&gt;</prompt> <userinput>Factorize(11*11*13)</userinput>
=
[1      11      13
 1      2       1]</screen></para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Factorization">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Factors"/>Factors</term>
         <listitem>
          <synopsis>Factors (n)</synopsis>
          <para>Επιστρέφει όλους τους παράγοντες της <varname>n</varname> σε ένα διάνυσμα. Αυτή περιλαμβάνει όλους τους μη πρώτους παράγοντες επίσης. Περιλαμβάνει το 1 και τον ίδιο τον αριθμό. Έτσι για παράδειγμα για να εμφανίσετε όλους τους τέλειους αριθμούς (αυτούς που είναι αθροίσματα των παραγόντων τους) μέχρι τον αριθμό 1000 μπορείτε να κάνετε (αυτό φυσικά είναι πολύ ανεπαρκές) <programlisting>for n=1 to 1000 do (
    if MatrixSum (Factors(n)) == 2*n then
        print(n)
)
</programlisting></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FermatFactorization"/>FermatFactorization</term>
         <listitem>
          <synopsis>FermatFactorization (n,tries)</synopsis>
          <para>Δοκιμάζει την παραγοντοποίηση Φερμά της <varname>n</varname> στο <userinput>(t-s)*(t+s)</userinput>, επιστρέφει τις <varname>t</varname> και <varname>s</varname> ως ένα διάνυσμα αν είναι δυνατό, αλλιώς <constant>null</constant>. Η <varname>tries</varname> καθορίζει τον αριθμό των προσπαθειών πριν να σταματήσει.</para>
          <para>Αυτή είναι μια αρκετά καλή παραγοντοποίηση, αν ο αριθμός σας είναι το γινόμενο δύο παραγόντων που είναι πολύ κοντά μεταξύ τους.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fermat_factorization">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindPrimitiveElementMod"/>FindPrimitiveElementMod</term>
         <listitem>
          <synopsis>FindPrimitiveElementMod (q)</synopsis>
          <para>Βρίσκει το πρώτο βασικό στοιχείο στην F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname>. Φυσικά η <varname>q</varname> πρέπει να είναι πρώτος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindRandomPrimitiveElementMod"/>FindRandomPrimitiveElementMod</term>
         <listitem>
          <synopsis>FindRandomPrimitiveElementMod (q)</synopsis>
          <para>Βρίσκει ένα τυχαίο βασικό στοιχείο στην F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname> (το q πρέπει να είναι πρώτος).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IndexCalculus"/>IndexCalculus</term>
         <listitem>
          <synopsis>IndexCalculus (n,b,q,S)</synopsis>
          <para>Υπολογίζει τη διακριτή λογαριθμική βάση <varname>b</varname> του n στο F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname> (<varname>q</varname> είναι ένας πρώτος), χρησιμοποιώντας τη βάση του συντελεστή <varname>S</varname>. Η <varname>S</varname> πρέπει να είναι μια στήλη πρώτων πιθανόν με μια δεύτερη στήλη προϋπολογισμένη από την <link linkend="gel-function-IndexCalculusPrecalculation"><function>IndexCalculusPrecalculation</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IndexCalculusPrecalculation"/>IndexCalculusPrecalculation</term>
         <listitem>
          <synopsis>IndexCalculusPrecalculation (b,q,S)</synopsis>
	  <para>Εκτελεί το βήμα προϋπολογισμού του <link linkend="gel-function-IndexCalculus"><function>IndexCalculus</function></link> για λογαρίθμους με βάση <varname>b</varname> στο F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname> (<varname>q</varname> είναι ένας πρώτος), για τη βάση συντελεστή <varname>S</varname> (όπου <varname>S</varname> είναι ένα διάνυσμα στήλης πρώτων). Οι λογάριθμοι θα προϋπολογιστούν και θα επιστραφούν στη δεύτερη στήλη.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsEven"/>IsEven</term>
         <listitem>
          <synopsis>IsEven (n)</synopsis>
          <para>Ελέγχει αν ο ακέραιος είναι άρτιος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMersennePrimeExponent"/>IsMersennePrimeExponent</term>
         <listitem>
          <synopsis>IsMersennePrimeExponent (p)</synopsis>
          <para>Ελέγχει αν ο θετικός ακέραιος <varname>p</varname> είναι ένας εκθέτης πρώτου Μερσέν. Δηλαδή, αν 2<superscript>p</superscript>-1 είναι ένας πρώτος. Το κάνει αναζητώντας τον σε έναν πίνακα γνωστών τιμών που είναι σχετικά σύντομος. Δείτε επίσης <link linkend="gel-function-MersennePrimeExponents">MersennePrimeExponents</link> και <link linkend="gel-function-LucasLehmer">LucasLehmer</link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Mersenne_prime">Wikipedia</ulink>, <ulink url="http://planetmath.org/encyclopedia/MersenneNumbers.html">Planetmath</ulink>, <ulink url="http://mathworld.wolfram.com/MersennePrime.html">Mathworld</ulink> ή <ulink url="http://www.mersenne.org/">GIMPS</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsNthPower"/>IsNthPower</term>
         <listitem>
          <synopsis>IsNthPower (m,n)</synopsis>
          <para>Ελέγχει αν ένας ρητός αριθμός <varname>m</varname> είναι μια τέλεια <varname>n</varname>στή δύναμη. Δείτε επίσης <link linkend="gel-function-IsPerfectPower">IsPerfectPower</link> και <link linkend="gel-function-IsPerfectSquare">IsPerfectSquare</link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsOdd"/>IsOdd</term>
         <listitem>
          <synopsis>IsOdd (n)</synopsis>
          <para>Έλεγχος αν ο ακέραιος είναι περιττός.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPerfectPower"/>IsPerfectPower</term>
         <listitem>
          <synopsis>IsPerfectPower (n)</synopsis>
          <para>Ελέγχει αν ένας ακέραιος είναι οποιαδήποτε τέλεια δύναμη, a<superscript>b</superscript>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPerfectSquare"/>IsPerfectSquare</term>
         <listitem>
          <synopsis>IsPerfectSquare (n)</synopsis>
          <para>Ελέγχει αν ένας ακέραιος είναι τέλειο τετράγωνο ενός ακεραίου. Ο αριθμός πρέπει να είναι πραγματικός ακέραιος. Οι αρνητικοί ακέραιοι φυσικά δεν είναι ποτέ τέλεια τετράγωνα πραγματικών ακεραίων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPrime"/>IsPrime</term>
         <listitem>
          <synopsis>IsPrime (n)</synopsis>
          <para>Ελέγχει τους πρώτους αριθμούς ακεραίων, για αριθμούς μικρότερους από 2.5e10 η απάντηση είναι προσδιοριστική (αν η υπόθεση Ρίμαν είναι αληθής). Για αριθμούς μεγαλύτερους, η πιθανότητα ψευδών θετικών εξαρτάται από την <link linkend="gel-function-IsPrimeMillerRabinReps"><function>IsPrimeMillerRabinReps</function></link>. Δηλαδή, η πιθανότητα ψευδούς θετικού είναι 1/4 στη δύναμη <function>IsPrimeMillerRabinReps</function>. Η προεπιλεγμένη τιμή του 22 δίνει μια πιθανότητα περίπου 5.7e-14.</para>
          <para>Αν η <constant>ψευδής</constant> επιστρέφεται, μπορείτε να είστε σίγουροι ότι ο αριθμός είναι σύνθετος. Αν θέλετε να είσαστε ολότελα βέβαιοι ότι έχετε έναν πρώτο μπορείτε να χρησιμοποιήσετε την <link linkend="gel-function-MillerRabinTestSure"><function>MillerRabinTestSure</function></link>, αλλά μπορεί να πάρει πολύ περισσότερο.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PrimeNumber.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/PrimeNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPrimitiveMod"/>IsPrimitiveMod</term>
         <listitem>
          <synopsis>IsPrimitiveMod (g,q)</synopsis>
          <para>Ελέγχει αν το <varname>g</varname> είναι βασικό στην F<subscript>q</subscript>, η πεπερασμένη ομάδα της τάξης <varname>q</varname>, όπου <varname>q</varname> είναι ένας πρώτος. Αν το <varname>q</varname> δεν είναι πρώτος τα αποτελέσματα είναι ψευδή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPrimitiveModWithPrimeFactors"/>IsPrimitiveModWithPrimeFactors</term>
         <listitem>
          <synopsis>IsPrimitiveModWithPrimeFactors (g,q,f)</synopsis>
          <para>Ελέγχει αν το <varname>g</varname> είναι βασικό στην F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname>, όπου <varname>q</varname> είναι ένας πρώτος και το <varname>f</varname> είναι ένα διάνυσμα πρώτων παραγόντων του <varname>q</varname>-1. Αν το <varname>q</varname> δεν είναι πρώτος τα αποτελέσματα είναι ψευδή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPseudoprime"/>IsPseudoprime</term>
         <listitem>
          <synopsis>IsPseudoprime (n,b)</synopsis>
          <para>Αν το <varname>n</varname> είναι ένας ψευδοπρώτος με βάση <varname>b</varname> αλλά όχι ένας πρώτος, δηλαδή αν <userinput>b^(n-1) == 1 mod n</userinput>. Αυτό καλεί την <link linkend="gel-function-PseudoprimeTest"><function>PseudoprimeTest</function></link></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsStrongPseudoprime"/>IsStrongPseudoprime</term>
         <listitem>
          <synopsis>IsStrongPseudoprime (n,b)</synopsis>
          <para>Ελέγχει αν το <varname>n</varname> είναι ένας ισχυρός ψευδοπρώτος με βάση <varname>b</varname>, αλλά όχι πρώτος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Jacobi"/>Jacobi</term>
         <listitem>
          <synopsis>Jacobi (a,b)</synopsis>
          <para>Παραλλαγές: <function>JacobiSymbol</function></para>
          <para>Υπολογίζει το σύμβολο Τζακόμπι (a/b) (το b πρέπει να είναι περιττός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-JacobiKronecker"/>JacobiKronecker</term>
         <listitem>
          <synopsis>JacobiKronecker (a,b)</synopsis>
          <para>Παραλλαγές: <function>JacobiKroneckerSymbol</function></para>
          <para>Υπολογίζει το σύμβολο Τζακόμπι (a/b) με την επέκταση Κρόνεκερ (a/2)=(2/a) όταν είναι περιττός, ή (a/2)=0 όταν είναι άρτιος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LeastAbsoluteResidue"/>LeastAbsoluteResidue</term>
         <listitem>
          <synopsis>LeastAbsoluteResidue (a,n)</synopsis>
          <para>Επιστρέφει το υπόλοιπο του <varname>a</varname> mod <varname>n</varname>, με την ελάχιστη απόλυτη τιμή (στο διάστημα -n/2 έως n/2).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Legendre"/>Legendre</term>
         <listitem>
          <synopsis>Legendre (a,p)</synopsis>
          <para>Παραλλαγές: <function>LegendreSymbol</function></para>
          <para>Υπολογίζει το σύμβολο Λεζάντρ (a/p).</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/LegendreSymbol.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/LegendreSymbol.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LucasLehmer"/>LucasLehmer</term>
         <listitem>
          <synopsis>LucasLehmer (p)</synopsis>
          <para>Ελέγχει αν 2<superscript>p</superscript>-1 είναι ένας πρώτος Μερσέν χρησιμοποιώντας τη δοκιμή Lucas-Lehmer. Δείτε επίσης <link linkend="gel-function-MersennePrimeExponents">MersennePrimeExponents</link> και <link linkend="gel-function-IsMersennePrimeExponent">IsMersennePrimeExponent</link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Lucas%E2%80%93Lehmer_primality_test">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/LucasLhemer.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Lucas-LehmerTest.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LucasNumber"/>LucasNumber</term>
         <listitem>
          <synopsis>LucasNumber (n)</synopsis>
          <para>Επιστρέφει τον <varname>n</varname>στο αριθμό Lucas.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Lucas_number">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/LucasNumbers.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/LucasNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MaximalPrimePowerFactors"/>MaximalPrimePowerFactors</term>
         <listitem>
          <synopsis>MaximalPrimePowerFactors (n)</synopsis>
          <para>Επιστρέφει όλους τους μέγιστους πρώτους παράγοντες δύναμης ενός αριθμού.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MersennePrimeExponents"/>MersennePrimeExponents</term>
         <listitem>
          <synopsis>MersennePrimeExponents</synopsis>
          <para>Ένα διάνυσμα με γνωστούς πρώτους εκθέτες Μερσέν, δηλαδή ένας κατάλογος θετικών ακεραίων <varname>p</varname> έτσι ώστε το 2<superscript>p</superscript>-1 να είναι πρώτος. Δείτε επίσης <link linkend="gel-function-IsMersennePrimeExponent">IsMersennePrimeExponent</link> και <link linkend="gel-function-LucasLehmer">LucasLehmer</link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Mersenne_prime">Wikipedia</ulink>, <ulink url="http://planetmath.org/encyclopedia/MersenneNumbers.html">Planetmath</ulink>, <ulink url="http://mathworld.wolfram.com/MersennePrime.html">Mathworld</ulink> ή <ulink url="http://www.mersenne.org/">GIMPS</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MillerRabinTest"/>MillerRabinTest</term>
         <listitem>
          <synopsis>MillerRabinTest (n,reps)</synopsis>
          <para>Χρησιμοποιεί τη δοκιμή πρώτων αριθμών Miller-Rabin στο <varname>n</varname>, <varname>reps</varname> είναι ο αριθμός των φορών. Η πιθανότητα ενός ψευδούς θετικού είναι <userinput>(1/4)^reps</userinput>. Είναι προφανώς συνήθως καλύτερο να χρησιμοποιήσετε <link linkend="gel-function-IsPrime"><function>IsPrime</function></link> αφού είναι γρηγορότερο και καλύτερο σε μικρότερους ακέραιους.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/MillerRabinPrimeTest.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Rabin-MillerStrongPseudoprimeTest.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MillerRabinTestSure"/>MillerRabinTestSure</term>
         <listitem>
          <synopsis>MillerRabinTestSure (n)</synopsis>
          <para>
	    Use the Miller-Rabin primality test on <varname>n</varname> with
	    enough bases that assuming the Generalized Riemann Hypothesis the
	    result is deterministic.
	  </para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/MillerRabinPrimeTest.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Rabin-MillerStrongPseudoprimeTest.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ModInvert"/>ModInvert</term>
         <listitem>
          <synopsis>ModInvert (n,m)</synopsis>
          <para>Επιστρέφει τον αντίστροφο του n mod m.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/ModularInverse.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusMu"/>MoebiusMu</term>
         <listitem>
          <synopsis>MoebiusMu (n)</synopsis>
          <para>Επιστρέφει την συνάρτηση mu του Moebius υπολογισμένη στο <varname>n</varname>. Δηλαδή, επιστρέφει 0 αν το <varname>n</varname> δεν είναι γινόμενο διακριτών πρώτων και <userinput>(-1)^k</userinput> αν είναι γινόμενο των <varname>k</varname> διακριτών πρώτων.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MoebiusFunction.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/MoebiusFunction.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NextPrime"/>NextPrime</term>
         <listitem>
          <synopsis>NextPrime (n)</synopsis>
          <para>Επιστρέφει τον ελάχιστο πρώτο που είναι μεγαλύτερος από τον <varname>n</varname>. Οι αρνητικοί των πρώτων θεωρούνται πρώτοι και έτσι για να πάρετε τον προηγούμενο πρώτο μπορείτε να χρησιμοποιήσετε <userinput>-NextPrime(-n)</userinput>.</para>
          <para>Αυτή η συνάρτηση χρησιμοποιεί τη <function>mpz_nextprime</function> του GMP που με τη σειρά της χρησιμοποιεί την πιθανοθεωρητική δοκιμή Μίλερ-Ράμπιν (Δείτε επίσης <link linkend="gel-function-MillerRabinTest"><function>MillerRabinTest</function></link>). Η πιθανότητα ψευδούς θετικού δεν ρυθμίζεται, αλλά είναι αρκετά χαμηλή για όλους τους πρακτικούς σκοπούς.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PrimeNumber.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/PrimeNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PadicValuation"/>PadicValuation</term>
         <listitem>
          <synopsis>PadicValuation (n,p)</synopsis>
          <para>Επιστρέφει τον υπολογισμό p-adic (αριθμός των τελικών μηδενικών στη βάση <varname>p</varname>).</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PAdicValuation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PowerMod"/>PowerMod</term>
         <listitem>
          <synopsis>PowerMod (a,b,m)</synopsis>
          <para>
	    Compute <userinput>a^b mod m</userinput>.  The
	    <varname>b</varname>'s power of <varname>a</varname> modulo
	    <varname>m</varname>.  It is not necessary to use this function
	    as it is automatically used in modulo mode.  Hence
	    <userinput>a^b mod m</userinput> is just as fast.
          </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Prime"/>Prime</term>
         <listitem>
          <synopsis>Prime (n)</synopsis>
          <para>Παραλλαγές: <function>prime</function></para>
          <para>Επιστρέφει τον <varname>n</varname>στό πρώτο (μέχρι ένα όριο).</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PrimeNumber.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/PrimeNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PrimeFactors"/>PrimeFactors</term>
         <listitem>
          <synopsis>PrimeFactors (n)</synopsis>
          <para>Επιστρέφει όλους τους πρώτους παράγοντες ενός αριθμού ως διάνυσμα.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/PrimeFactor.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PseudoprimeTest"/>PseudoprimeTest</term>
         <listitem>
          <synopsis>PseudoprimeTest (n,b)</synopsis>
	  <para>Δοκιμή ψευδοπρώτου, επιστρέφει <constant>αληθές</constant> αν και μόνο αν <userinput>b^(n-1) == 1  mod n</userinput></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Pseudoprime.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Pseudoprime.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RemoveFactor"/>RemoveFactor</term>
         <listitem>
          <synopsis>RemoveFactor (n,m)</synopsis>
          <para>Αφαιρεί όλα τα στιγμιότυπα του παράγοντα <varname>m</varname> από τον αριθμό <varname>n</varname>. Δηλαδή, διαιρεί με τη μέγιστη δύναμη του <varname>m</varname>, που διαιρεί το <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Divisibility.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Factor.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SilverPohligHellmanWithFactorization"/>SilverPohligHellmanWithFactorization</term>
         <listitem>
          <synopsis>SilverPohligHellmanWithFactorization (n,b,q,f)</synopsis>
          <para>Βρίσκει τους διακριτούς λογάριθμους του <varname>n</varname> με βάση το <varname>b</varname> στο F<subscript>q</subscript>, την πεπερασμένη ομάδα της τάξης <varname>q</varname>, όπου <varname>q</varname> είναι ένας πρώτος που χρησιμοποιεί τον αλγόριθμο Silver-Pohlig-Hellman, με δεδομένο το <varname>f</varname> είναι η παραγοντοποίηση του <varname>q</varname>-1.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SqrtModPrime"/>SqrtModPrime</term>
         <listitem>
          <synopsis>SqrtModPrime (n,p)</synopsis>
          <para>Βρίσκει την τετραγωνική ρίζα του <varname>n</varname> modulo <varname>p</varname> (όπου το <varname>p</varname> είναι πρώτος). Null επιστρέφεται αν δεν είναι ένα υπόλοιπο δευτεροβάθμιας.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/QuadraticResidue.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/QuadraticResidue.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StrongPseudoprimeTest"/>StrongPseudoprimeTest</term>
         <listitem>
          <synopsis>StrongPseudoprimeTest (n,b)</synopsis>
          <para>Εκτελεί τη δοκιμή ισχυρού ψευδοπρώτου με βάση <varname>b</varname> στο <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/StrongPseudoprime.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/StrongPseudoprime.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-gcd"/>gcd</term>
         <listitem>
          <synopsis>gcd (a,args...)</synopsis>
          <para>Παραλλαγές: <function>GCD</function></para>
          <para>Ο μέγιστος κοινός διαιρέτης ακεραίων. Μπορείτε να εισάγετε όσους ακέραιους θέλετε στον κατάλογο ορισμάτων, ή μπορείτε να δώσετε ένα διάνυσμα ή πίνακα ακεραίων. Αν δώσετε περισσότερους από έναν πίνακες του ίδιου μεγέθους τότε ο ΜΚΔ γίνεται στοιχείο κατά στοιχείο.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/GreatestCommonDivisor.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/GreatestCommonDivisor.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-lcm"/>lcm</term>
         <listitem>
          <synopsis>lcm (a,args...)</synopsis>
          <para>Παραλλαγές: <function>LCM</function></para>
          <para>Ελάχιστο κοινό πολλαπλάσιο ακεραίων. Μπορείτε να εισάγετε όσους ακέραιους θέλετε στον κατάλογο ορισμάτων, ή μπορείτε να δώσετε ένα διάνυσμα ή πίνακα ακεραίων. Αν δώσετε περισσότερους από έναν πίνακα του ίδιου μεγέθους, τότε το ΕΚΠ γίνεται στοιχείο κατά στοιχείο.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/LeastCommonMultiple.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/LeastCommonMultiple.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-matrix">
      <title>Διαχείριση πινάκων</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-ApplyOverMatrix"/>ApplyOverMatrix</term>
         <listitem>
          <synopsis>ApplyOverMatrix (a,func)</synopsis>
          <para>Εφαρμόζει μια συνάρτηση σε όλες τις καταχωρίσεις ενός πίνακα και επιστρέφει έναν πίνακα των αποτελεσμάτων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ApplyOverMatrix2"/>ApplyOverMatrix2</term>
         <listitem>
          <synopsis>ApplyOverMatrix2 (a,b,func)</synopsis>
          <para>Εφαρμόζει μια συνάρτηση σε όλες τις καταχωρίσεις των 2 πινάκων (ή 1 τιμή και 1 πίνακα) και επιστρέφει έναν πίνακα των αποτελεσμάτων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ColumnsOf"/>ColumnsOf</term>
         <listitem>
          <synopsis>ColumnsOf (M)</synopsis>
          <para>Παίρνει τις στήλες ενός πίνακα ως οριζόντιο διάνυσμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ComplementSubmatrix"/>ComplementSubmatrix</term>
         <listitem>
          <synopsis>ComplementSubmatrix (m,r,c)</synopsis>
          <para>Αφαιρεί στήλες και γραμμές από έναν πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CompoundMatrix"/>CompoundMatrix</term>
         <listitem>
          <synopsis>CompoundMatrix (k,A)</synopsis>
          <para>Υπολογίζει τον kστό σύνθετο πίνακα του Α.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CountZeroColumns"/>CountZeroColumns</term>
         <listitem>
          <synopsis>CountZeroColumns (M)</synopsis>
          <para>Υπολογίζει τον αριθμό των μηδενικών στηλών σε έναν πίνακα. Για παράδειγμα, αφού ο πίνακάς σας μειώσει έναν πίνακα, μπορείτε να τον χρησιμοποιήσετε για να βρείτε τη μηδενικότητα. Δείτε <link linkend="gel-function-cref"><function>cref</function></link> και <link linkend="gel-function-Nullity"><function>Nullity</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DeleteColumn"/>DeleteColumn</term>
         <listitem>
          <synopsis>DeleteColumn (M,col)</synopsis>
          <para>Διαγράφει μια στήλη ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DeleteRow"/>DeleteRow</term>
         <listitem>
          <synopsis>DeleteRow (M,row)</synopsis>
          <para>Διαγράφει μια γραμμή ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DiagonalOf"/>DiagonalOf</term>
         <listitem>
          <synopsis>DiagonalOf (M)</synopsis>
          <para>Δίνει τις διαγώνιες καταχωρίσεις ενός πίνακα ως διάνυσμα στήλης.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Diagonal_of_a_matrix#Matrices">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DotProduct"/>DotProduct</term>
         <listitem>
          <synopsis>DotProduct (u,v)</synopsis>
	  <para>Παίρνει το εσωτερικό γινόμενο δύο διανυσμάτων. Τα διανύσματα πρέπει να είναι του ίδιου μεγέθους. Δεν παίρνονται συζυγείς, έτσι αυτό είναι μια διγραμμική μορφή ακόμα κι αν δουλεύει σε μιγαδικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DotProduct.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ExpandMatrix"/>ExpandMatrix</term>
         <listitem>
          <synopsis>ExpandMatrix (M)</synopsis>
          <para>Επεκτείνει έναν πίνακα ακριβώς όπως κάνουμε με εισόδους πίνακα χωρίς κλείσιμο εισαγωγικών. Δηλαδή, επεκτείνουμε οποιουσδήποτε εσωτερικούς πίνακες ως ομάδες. Αυτός είναι ένας τρόπος για να κατασκευάσετε πίνακες από μικρότερους και αυτό γίνεται κανονικά αυτόματα σε εισόδους εκτός και ο πίνακας είναι με εισαγωγικά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-HermitianProduct"/>HermitianProduct</term>
         <listitem>
          <synopsis>HermitianProduct (u,v)</synopsis>
          <para>Παραλλαγές: <function>InnerProduct</function></para>
          <para>Δίνει το ερμιτιανό γινόμενο δύο διανυσμάτων. Τα διανύσματα πρέπει να είναι του ίδιου μεγέθους. Αυτό είναι μια γραμμικο-ημιγραμμική μορφή χρησιμοποιώντας τον ταυτοτικό πίνακα.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/HermitianInnerProduct.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-I"/>I</term>
         <listitem>
          <synopsis>I (n)</synopsis>
          <para>Παραλλαγές: <function>eye</function></para>
	  <para>Επιστρέφει έναν ταυτοτικό πίνακα δοσμένου μεγέθους, δηλαδή <varname>n</varname> επί <varname>n</varname>. Αν το <varname>n</varname> είναι μηδέν, επιστρέφει <constant>null</constant>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/IdentityMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IndexComplement"/>IndexComplement</term>
         <listitem>
          <synopsis>IndexComplement (vec,msize)</synopsis>
          <para>Επιστρέφει το συμπλήρωμα δείκτη ενός διανύσματος δεικτών. Ο πρώτος δείκτης είναι ένα. Για παράδειγμα για διάνυσμα <userinput>[2,3]</userinput> και μέγεθος <userinput>5</userinput>, επιστρέφει <userinput>[1,4,5]</userinput>. Αν <varname>msize</varname> είναι 0, επιστρέφει πάντα <constant>null</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsDiagonal"/>IsDiagonal</term>
         <listitem>
          <synopsis>IsDiagonal (M)</synopsis>
          <para>Αν είναι ένας διαγώνιος πίνακας.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Diagonal_matrix">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/DiagonalMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsIdentity"/>IsIdentity</term>
         <listitem>
          <synopsis>IsIdentity (x)</synopsis>
          <para>Ελέγχει αν ένας πίνακας είναι ο ταυτοτικός πίνακας. Επιστρέφει αυτόματα <constant>ψευδές</constant> αν ο πίνακας δεν είναι τετραγωνικός. Δουλεύει επίσης με αριθμούς και σε αυτήν την περίπτωση είναι ισοδύναμος με <userinput>x==1</userinput>. Όταν <varname>x</varname> είναι <constant>null</constant> (μπορούμε να τον θεωρήσουμε ως έναν πίνακα 0 επί 0), δεν δημιουργείται κανένα σφάλμα και επιστρέφεται <constant>ψευδές</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsLowerTriangular"/>IsLowerTriangular</term>
         <listitem>
          <synopsis>IsLowerTriangular (M)</synopsis>
          <para>Αν είναι ένας κάτω τριγωνικός πίνακας. Δηλαδή, αν είναι όλες οι καταχωρίσεις πάνω από τη διαγώνιο είναι μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixInteger"/>IsMatrixInteger</term>
         <listitem>
          <synopsis>IsMatrixInteger (M)</synopsis>
          <para>Ελέγχει αν ένας πίνακας είναι ένας πίνακας ακεραίων (μη μιγαδικών).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixNonnegative"/>IsMatrixNonnegative</term>
         <listitem>
          <synopsis>IsMatrixNonnegative (M)</synopsis>
          <para>Ελέγχει αν ο πίνακας είναι μη αρνητικός, δηλαδή, αν κάθε στοιχείο είναι μη αρνητικός. Μην μπερδεύετε θετικά πίνακες με θετικούς ημιορισμένους πίνακες.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Positive_matrix">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixPositive"/>IsMatrixPositive</term>
         <listitem>
          <synopsis>IsMatrixPositive (M)</synopsis>
	  <para>Ελέγχει αν ένας πίνακας είναι θετικός, δηλαδή, αν κάθε στοιχείο είναι θετικό (και συνεπώς πραγματικό). Ειδικά, κανένα στοιχείο δεν είναι 0. Μην μπερδεύετε θετικούς πίνακες με θετικά ορισμένους πίνακες.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Positive_matrix">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixRational"/>IsMatrixRational</term>
         <listitem>
          <synopsis>IsMatrixRational (M)</synopsis>
          <para>Ελέγχει αν ένας πίνακας είναι ένας πίνακας ρητών αριθμών (μη μιγαδικός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixReal"/>IsMatrixReal</term>
         <listitem>
          <synopsis>IsMatrixReal (M)</synopsis>
          <para>Ελέγχει αν ένας πίνακας είναι ένας πίνακας πραγματικών αριθμών (μη μιγαδικός).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsMatrixSquare"/>IsMatrixSquare</term>
         <listitem>
          <synopsis>IsMatrixSquare (M)</synopsis>
          <para>Ελέγχει αν ένας πίνακας είναι τετράγωνος, δηλαδή, αν το πλάτος του είναι ίσο με το ύψος του.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsUpperTriangular"/>IsUpperTriangular</term>
         <listitem>
          <synopsis>IsUpperTriangular (M)</synopsis>
          <para>Είναι ένας άνω τριγωνικός πίνακας; Δηλαδή, ένας πίνακας είναι άνω τριγωνικός αν όλες οι καταχωρίσεις κάτω από τη διαγώνιο είναι μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsValueOnly"/>IsValueOnly</term>
         <listitem>
          <synopsis>IsValueOnly (M)</synopsis>
          <para>Ελέγχει αν ο πίνακας είναι ένας πίνακας μόνο αριθμών. Πολλές εσωτερικές συναρτήσεις κάνουν αυτόν τον έλεγχο. Οι τιμές μπορεί να είναι οποιοιδήποτε αριθμοί συμπεριλαμβανομένων μιγαδικών αριθμών.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsVector"/>IsVector</term>
         <listitem>
          <synopsis>IsVector (v)</synopsis>
          <para>Αν είναι το όρισμα οριζόντιο ή κάθετο διάνυσμα. Η Genius δεν ξεχωρίζει μεταξύ πίνακα και διανύσματος και ένα διάνυσμα είναι απλά ένας πίνακας 1 επί <varname>n</varname> ή <varname>n</varname> επί 1.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsZero"/>IsZero</term>
         <listitem>
          <synopsis>IsZero (x)</synopsis>
          <para>Ελέγχει αν ένας πίνακας αποτελείται όλος από μηδενικά. Δουλεύει επίσης και σε αριθμούς, οπότε είναι ισοδύναμος με <userinput>x==0</userinput>. Όταν η <varname>x</varname> είναι <constant>null</constant> (μπορούμε να σκεφτούμε ως έναν πίνακα 0 επί 0), δεν δημιουργείται κανένα σφάλμα και επιστρέφεται η <constant>true</constant> επειδή η συνθήκη είναι κενή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LowerTriangular"/>LowerTriangular</term>
         <listitem>
          <synopsis>LowerTriangular (M)</synopsis>
          <para>Επιστρέφει ένα αντίγραφο του πίνακα <varname>M</varname> με όλες τις καταχωρίσεις πάνω από τη διαγώνιο ορισμένες σε μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MakeDiagonal"/>MakeDiagonal</term>
         <listitem>
          <synopsis>MakeDiagonal (v,arg...)</synopsis>
          <para>Παραλλαγές: <function>diag</function></para>
	  <para>Δημιουργεί έναν διαγώνιο πίνακα από ένα διάνυσμα. Εναλλακτικά μπορείτε να περάσετε στις τιμές για να βάλετε τη διαγώνιο ως ορίσματα. Έτσι <userinput>MakeDiagonal([1,2,3])</userinput> είναι το ίδιο με <userinput>MakeDiagonal(1,2,3)</userinput>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Diagonal_matrix">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/DiagonalMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MakeVector"/>MakeVector</term>
         <listitem>
          <synopsis>MakeVector (A)</synopsis>
          <para>Δημιουργεί ένα διάνυσμα στήλης από έναν πίνακα βάζοντας στήλες τις μεν πάνω από τις άλλες. Επιστρέφει <constant>null</constant> όταν δίνεται <constant>null</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MatrixProduct"/>MatrixProduct</term>
         <listitem>
          <synopsis>MatrixProduct (A)</synopsis>
          <para>Υπολογίζει το γινόμενο όλων των στοιχείων σε ένα πίνακα ή διάνυσμα. Δηλαδή, πολλαπλασιάζουμε όλα τα στοιχεία και επιστρέφει έναν αριθμό που είναι το γινόμενο όλων των στοιχείων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MatrixSum"/>MatrixSum</term>
         <listitem>
          <synopsis>MatrixSum (A)</synopsis>
          <para>Υπολογίζει το άθροισμα όλων των στοιχείων σε ένα πίνακα ή διάνυσμα. Δηλαδή, προσθέτουμε όλα τα στοιχεία και επιστρέφει έναν αριθμό που είναι το άθροισμα όλων των στοιχείων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MatrixSumSquares"/>MatrixSumSquares</term>
         <listitem>
          <synopsis>MatrixSumSquares (A)</synopsis>
          <para>Υπολογίζει το άθροισμα των τετραγώνων όλων των στοιχείων σε έναν πίνακα ή διάνυσμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NonzeroColumns"/>NonzeroColumns</term>
         <listitem>
          <synopsis>NonzeroColumns (M)</synopsis>
          <para>Returns a row vector of the indices of nonzero columns in the matrix <varname>M</varname>.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NonzeroElements"/>NonzeroElements</term>
         <listitem>
          <synopsis>NonzeroElements (v)</synopsis>
          <para>Returns a row vector of the indices of nonzero elements in the vector <varname>v</varname>.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OuterProduct"/>OuterProduct</term>
         <listitem>
          <synopsis>OuterProduct (u,v)</synopsis>
          <para>Δίνει το εξωτερικό γινόμενο δύο διανυσμάτων. Δηλαδή, ας υποθέσουμε ότι <varname>u</varname> και <varname>v</varname> είναι κάθετα διανύσματα, τότε το εξωτερικό γινόμενο είναι <userinput>v * u.'</userinput>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ReverseVector"/>ReverseVector</term>
         <listitem>
          <synopsis>ReverseVector (v)</synopsis>
	  <para>Αντίστροφα στοιχεία σε ένα διάνυσμα. Επιστρέφει <constant>null</constant> αν δίνεται <constant>null</constant></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowSum"/>RowSum</term>
         <listitem>
          <synopsis>RowSum (m)</synopsis>
          <para>Υπολογίζει το άθροισμα κάθε γραμμής σε έναν πίνακα και επιστρέφει ένα κάθετο διάνυσμα με το αποτέλεσμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowSumSquares"/>RowSumSquares</term>
         <listitem>
          <synopsis>RowSumSquares (m)</synopsis>
          <para>Υπολογίζει το άθροισμα των τετραγώνων κάθε γραμμής σε έναν πίνακα και επιστρέφει ένα κάθετο διάνυσμα με τα αποτελέσματα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowsOf"/>RowsOf</term>
         <listitem>
          <synopsis>RowsOf (M)</synopsis>
	  <para>Δίνει τις γραμμές ενός πίνακα ως κάθετο διάνυσμα. Κάθε στοιχείο του διανύσματος είναι ένα οριζόντιο διάνυσμα που είναι η αντίστοιχη γραμμή του <varname>M</varname>. Αυτή η συνάρτηση είναι χρήσιμη, αν θέλετε να κάνετε βρόχο στις γραμμές ενός πίνακα. Για παράδειγμα, ως <userinput>for r in RowsOf(M) do
something(r)</userinput>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetMatrixSize"/>SetMatrixSize</term>
         <listitem>
          <synopsis>SetMatrixSize (M,rows,columns)</synopsis>
          <para>Δημιουργεί νέο πίνακα δεδομένου μεγέθους από τον παλιό. Δηλαδή, θα επιστραφεί ένας νέος πίνακας στον οποίον ο παλιός αντιγράφηκε. Οι καταχωρίσεις που δεν ταιριάζουν περικόπτονται και ο πρόσθετος χώρος συμπληρώνεται με μηδενικά. Αν <varname>rows</varname> ή <varname>columns</varname> είναι μηδέν, τότε επιστρέφεται <constant>null</constant>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ShuffleVector"/>ShuffleVector</term>
         <listitem>
          <synopsis>ShuffleVector (v)</synopsis>
	  <para>Shuffle elements in a vector.  Return <constant>null</constant> if given <constant>null</constant>.</para>
	  <para>Version 1.0.13 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SortVector"/>SortVector</term>
         <listitem>
          <synopsis>SortVector (v)</synopsis>
          <para>Ταξινόμηση στοιχείων διανύσματος με αύξουσα διάταξη.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StripZeroColumns"/>StripZeroColumns</term>
         <listitem>
          <synopsis>StripZeroColumns (M)</synopsis>
          <para>Αφαιρεί όλες τις ολότελα μηδενικές στήλες του <varname>M</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StripZeroRows"/>StripZeroRows</term>
         <listitem>
          <synopsis>StripZeroRows (M)</synopsis>
          <para>Αφαιρεί όλες τις ολότελα μηδενικές γραμμές του <varname>M</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Submatrix"/>Submatrix</term>
         <listitem>
          <synopsis>Submatrix (m,r,c)</synopsis>
          <para>Επιστρέφει στήλες και γραμμές από έναν πίνακα. Αυτό είναι ακριβώς ισοδύναμο με το <userinput>m@(r,c)</userinput>. Τα <varname>r</varname> και <varname>c</varname> πρέπει να είναι διανύσματα γραμμών και στηλών (ή μεμονωμένοι αριθμοί αν χρειάζεται μόνο μια γραμμή ή στήλη).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SwapRows"/>SwapRows</term>
         <listitem>
          <synopsis>SwapRows (m,row1,row2)</synopsis>
          <para>Εναλλάσσει δύο γραμμές σε έναν πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-UpperTriangular"/>UpperTriangular</term>
         <listitem>
          <synopsis>UpperTriangular (M)</synopsis>
          <para>Επιστρέφει ένα αντίγραφο του πίνακα <varname>M</varname> με όλες τις καταχωρίσεις κάτω από τη διαγώνιο ορισμένες σε μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-columns"/>columns</term>
         <listitem>
          <synopsis>columns (M)</synopsis>
          <para>Δίνει τον αριθμό των στηλών ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-elements"/>elements</term>
         <listitem>
          <synopsis>elements (M)</synopsis>
          <para>Δίνει τον συνολικό αριθμό των στοιχείων ενός πίνακα. Αυτός είναι ο αριθμός των στηλών επί τον αριθμό των γραμμών.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ones"/>ones</term>
         <listitem>
          <synopsis>ones (rows,columns...)</synopsis>
	  <para>Δημιουργεί έναν πίνακα από όλους (ή ένα διάνυσμα γραμμής αν δίνεται μόνο ένα όρισμα). Επιστρέφει <constant>null</constant> αν οποιαδήποτε σειρά ή στήλη είναι μηδέν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-rows"/>rows</term>
         <listitem>
          <synopsis>rows (M)</synopsis>
          <para>Δίνει τον αριθμό των γραμμών ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-zeros"/>zeros</term>
         <listitem>
          <synopsis>zeros (rows,columns...)</synopsis>
	  <para>Δημιουργεί έναν πίνακα όλων των μηδενικών (ή ένα διάνυσμα γραμμής αν δίνεται μόνο ένα όρισμα). Επιστρέφει <constant>null</constant> αν οποιαδήποτε σειρά ή στήλη είναι μηδέν.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-linear-algebra">
      <title>Γραμμική Άλγεβρα</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-AuxiliaryUnitMatrix"/>AuxiliaryUnitMatrix</term>
         <listitem>
          <synopsis>AuxiliaryUnitMatrix (n)</synopsis>
          <para>Δίνει τον βοηθητικό μοναδιαίο πίνακα μεγέθους <varname>n</varname>. Αυτός είναι ένας τετραγωνικός πίνακας με όλα μηδέν εκτός από την υπερδιαγώνιο που είναι όλα 1. Είναι ο σύνθετος πίνακας Jordan με ιδιοτιμή ενός μηδενικού.</para>
          <para>
	    See
	    <ulink url="http://planetmath.org/encyclopedia/JordanCanonicalFormTheorem.html">Planetmath</ulink> or
	    <ulink url="http://mathworld.wolfram.com/JordanBlock.html">Mathworld</ulink> for more information on Jordan Canonical Form.
          </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BilinearForm"/>BilinearForm</term>
         <listitem>
          <synopsis>BilinearForm (v,A,w)</synopsis>
          <para>Υπολογίζει (v,w) ως προς τη διγραμμική μορφή που δίνεται από τον πίνακα Α.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BilinearFormFunction"/>BilinearFormFunction</term>
         <listitem>
          <synopsis>BilinearFormFunction (A)</synopsis>
          <para>Επιστρέφει μια συνάρτηση που υπολογίζει δύο διανύσματα ως προς τη διγραμμική μορφή που δίνεται από το Α.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CharacteristicPolynomial"/>CharacteristicPolynomial</term>
         <listitem>
          <synopsis>CharacteristicPolynomial (M)</synopsis>
          <para>Παραλλαγές: <function>CharPoly</function></para>
	  <para>Δίνει το χαρακτηριστικό πολυώνυμο ως διάνυσμα. Δηλαδή, επιστρέφει τους συντελεστές του πολυωνύμου ξεκινώντας με τον σταθερό όρο. Αυτό είναι το πολυώνυμο που ορίστηκε από <userinput>det(M-xI)</userinput>. Οι ρίζες αυτού του πολυωνύμου είναι οι ιδιοτιμές του <varname>M</varname>. Δείτε επίσης <link linkend="gel-function-CharacteristicPolynomialFunction">CharacteristicPolynomialFunction</link>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/CharacteristicEquation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CharacteristicPolynomialFunction"/>CharacteristicPolynomialFunction</term>
         <listitem>
          <synopsis>CharacteristicPolynomialFunction (M)</synopsis>
	  <para>Δίνει το χαρακτηριστικό πολυώνυμο ως συνάρτηση. Αυτό είναι το πολυώνυμο που ορίστηκε από το <userinput>det(M-xI)</userinput>. Οι ρίζες αυτού του πολυωνύμου είναι οι ιδιοτιμές του <varname>M</varname>. Δείτε επίσης <link linkend="gel-function-CharacteristicPolynomial">CharacteristicPolynomial</link>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/CharacteristicEquation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ColumnSpace"/>ColumnSpace</term>
         <listitem>
          <synopsis>ColumnSpace (M)</synopsis>
	  <para>Δίνει έναν πίνακα βάσης για τον χώρο στηλών ενός πίνακα. Δηλαδή, επιστρέφει έναν πίνακα του οποίου οι στήλες είναι η βάση για τον χώρο στηλών του <varname>M</varname>. Αυτός είναι ο χώρος που καλύπτεται από τις στήλες του <varname>M</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CommutationMatrix"/>CommutationMatrix</term>
         <listitem>
          <synopsis>CommutationMatrix (m, n)</synopsis>
	  <para>Επιστρέφει τον αντιμεταθετικό πίνακα <userinput>K(m,n)</userinput> που είναι ο μοναδικός πίνακας <userinput>m*n</userinput> επί <userinput>m*n</userinput> τέτοιος ώστε <userinput>K(m,n) * MakeVector(A) = MakeVector(A.')</userinput> για όλους τους πίνακες <varname>Α</varname> <varname>m</varname> επί <varname>n</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CompanionMatrix"/>CompanionMatrix</term>
         <listitem>
          <synopsis>CompanionMatrix (p)</synopsis>
          <para>Συνοδός πίνακας ενός πολυωνύμου (ως διανύσματος).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ConjugateTranspose"/>ConjugateTranspose</term>
         <listitem>
          <synopsis>ConjugateTranspose (M)</synopsis>
          <para>Συζυγής ανάστροφος πίνακας (συζυγής). Αυτός είναι ο ίδιος με τον τελεστή <userinput>'</userinput>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/ConjugateTranspose.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Convolution"/>Convolution</term>
         <listitem>
          <synopsis>Convolution (a,b)</synopsis>
          <para>Παραλλαγές: <function>convol</function></para>
          <para>Υπολογίζει τη συνέλιξη των δύο οριζόντιων διανυσμάτων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ConvolutionVector"/>ConvolutionVector</term>
         <listitem>
          <synopsis>ConvolutionVector (a,b)</synopsis>
          <para>Υπολογίζει τη συνέλιξη των δύο οριζόντιων διανυσμάτων. Επιστρέφει αποτέλεσμα ως διάνυσμα του οποίου τα στοιχεία δεν προστίθεται μαζί.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CrossProduct"/>CrossProduct</term>
         <listitem>
          <synopsis>CrossProduct (v,w)</synopsis>
	  <para>Διανυσματικό γινόμενο δύο διανυσμάτων στο R<superscript>3</superscript> ως διάνυσμα στήλης.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DeterminantalDivisorsInteger"/>DeterminantalDivisorsInteger</term>
         <listitem>
          <synopsis>DeterminantalDivisorsInteger (M)</synopsis>
          <para>Δίνει τους διαιρέτες ορίζουσας ενός ακεραίου πίνακα (όχι των χαρακτηριστικών του).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DirectSum"/>DirectSum</term>
         <listitem>
          <synopsis>DirectSum (M,N...)</synopsis>
          <para>Ευθύ άθροισμα των πινάκων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DirectSumMatrixVector"/>DirectSumMatrixVector</term>
         <listitem>
          <synopsis>DirectSumMatrixVector (v)</synopsis>
          <para>Ευθύ άθροισμα ενός διανύσματος πινάκων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Eigenvalues"/>Eigenvalues</term>
         <listitem>
          <synopsis>Eigenvalues (M)</synopsis>
          <para>Παραλλαγές: <function>eig</function></para>
          <para>Δίνει τις ιδιοτιμές ενός τετραγωνικού πίνακα. Προς το παρόν δουλεύει μόνο για πίνακες μεγέθους μέχρι 4 επί 4, ή για τριγωνικούς πίνακες (για τους οποίους οι ιδιοτιμές είναι στη διαγώνιο).</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Eigenvalue">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/Eigenvalue.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Eigenvalue.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Eigenvectors"/>Eigenvectors</term>
         <listitem>
          <synopsis>Eigenvectors (M)</synopsis>
          <synopsis>Eigenvectors (M, &amp;eigenvalues)</synopsis>
          <synopsis>Eigenvectors (M, &amp;eigenvalues, &amp;multiplicities)</synopsis>
	  <para>Δίνει τα ιδιοδιανύσματα ενός τετραγωνικού πίνακα. Προαιρετικά παίρνετε επίσης τις ιδιοτιμές και τις αλγεβρικές πολλαπλότητες. Προς το παρόν δουλεύει μόνο για πίνακες μεγέθους μέχρι 2 επί 2.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Eigenvector">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/Eigenvector.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/Eigenvector.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GramSchmidt"/>GramSchmidt</term>
         <listitem>
          <synopsis>GramSchmidt (v,B...)</synopsis>
	  <para>Εφαρμόζει τη διεργασία Gram-Schmidt (στις στήλες) ως προς το εσωτερικό γινόμενο που δίνεται από το <varname>B</varname>. Αν το <varname>B</varname> δεν δίνεται, τότε χρησιμοποιείται το τυπικό ερμιτιανό γινόμενο. Το <varname>B</varname> μπορεί να είναι ή γραμμικο-ημιγραμμική συνάρτηση δύο ορισμάτων ή μπορεί να είναι ένας πίνακας που δίνει μια γραμμικο-ημιγραμμική μορφή. Τα διανύσματα θα γίνονται ορθοκανονικά ως προς το <varname>B</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/GramSchmidtOrthogonalization.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-HankelMatrix"/>HankelMatrix</term>
         <listitem>
          <synopsis>HankelMatrix (c,r)</synopsis>
          <para>Πίνακας Χάνκελ.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-HilbertMatrix"/>HilbertMatrix</term>
         <listitem>
          <synopsis>HilbertMatrix (n)</synopsis>
          <para>Πίνακας Χίλμπερτ τάξης <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HilbertMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Image"/>Image</term>
         <listitem>
          <synopsis>Image (T)</synopsis>
          <para>Δίνει την εικόνα (διάστημα στήλης) ενός γραμμικού μετασχηματισμού.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InfNorm"/>InfNorm</term>
         <listitem>
          <synopsis>InfNorm (v)</synopsis>
          <para>Δίνει την απειρονόρμα ενός διανύσματος, μερικές φορές λέγεται νόρμα ελάχιστου άνω φράγματος ή νόρμα μεγίστου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InvariantFactorsInteger"/>InvariantFactorsInteger</term>
         <listitem>
          <synopsis>InvariantFactorsInteger (M)</synopsis>
          <para>Δίνει τους αμετάβλητους παράγοντες του τετραγωνικού ακέραιου πίνακα (όχι τα χαρακτηριστικά του).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InverseHilbertMatrix"/>InverseHilbertMatrix</term>
         <listitem>
          <synopsis>InverseHilbertMatrix (n)</synopsis>
          <para>Αντίστροφος πίνακας Χίλμπερτ τάξης <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HilbertMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsHermitian"/>IsHermitian</term>
         <listitem>
          <synopsis>IsHermitian (M)</synopsis>
          <para>Αν είναι ένας ερμιτιανός πίνακας. Δηλαδή, αν είναι ίσος με τον ανάστροφο συζυγή.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/HermitianMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsInSubspace"/>IsInSubspace</term>
         <listitem>
          <synopsis>IsInSubspace (v,W)</synopsis>
          <para>Ελέγχει αν ένα διάνυσμα είναι σε έναν υπόχωρο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsInvertible"/>IsInvertible</term>
         <listitem>
          <synopsis>IsInvertible (n)</synopsis>
          <para>Αν είναι ένας πίνακας (ή αριθμός) αντιστρέψιμος (ένας ακέραιος πίνακας είναι αντιστρέψιμος αν και μόνο αν είναι αντιστρέψιμος στους ακέραιους).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsInvertibleField"/>IsInvertibleField</term>
         <listitem>
          <synopsis>IsInvertibleField (n)</synopsis>
          <para>Αν είναι ένας πίνακας (ή αριθμός) αντιστρέψιμος σε ένα πεδίο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsNormal"/>IsNormal</term>
         <listitem>
          <synopsis>IsNormal (M)</synopsis>
          <para>Αν είναι ο <varname>M</varname> ένας κανονικός πίνακας. Δηλαδή, κάνει <userinput>M*M' == M'*M</userinput>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/NormalMatrix.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/NormalMatrix.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPositiveDefinite"/>IsPositiveDefinite</term>
         <listitem>
          <synopsis>IsPositiveDefinite (M)</synopsis>
          <para>Αν είναι το <varname>M</varname> ένας ερμιτιανός θετικά ορισμένος πίνακας. Δηλαδή, αν το <userinput>HermitianProduct(M*v,v)</userinput> είναι πάντα αυστηρά θετικό για κάθε διάνυσμα <varname>v</varname>. Ο <varname>M</varname> πρέπει να είναι τετραγωνικός και ερμιτιανός για να είναι θετικά ορισμένος. Ο έλεγχος που εκτελείται είναι ότι κάθε βασικός υποπίνακας έχει μία μη αρνητική ορίζουσα. (Δείτε <link linkend="gel-function-HermitianProduct">HermitianProduct</link>)</para>
	  <para>Σημειώστε ότι κάποιοι συγγραφείς (για παράδειγμα Mathworld) δεν απαιτούν ο <varname>M</varname> να είναι ερμιτιανός και τότε η συνθήκη είναι στο πραγματικό μέρος του εσωτερικού γινομένου, αλλά δεν παίρνουμε αυτήν την πλευρά. Αν θέλετε να εκτελέσετε αυτόν τον έλεγχο, ελέγξτε απλά το ερμητιανό μέρος του πίνακα <varname>M</varname> ως εξής: <userinput>IsPositiveDefinite(M+M')</userinput>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PositiveDefinite.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/PositiveDefiniteMatrix.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPositiveSemidefinite"/>IsPositiveSemidefinite</term>
         <listitem>
          <synopsis>IsPositiveSemidefinite (M)</synopsis>
          <para>Αν είναι ο <varname>M</varname> ένας ερμιτιανός θετικά ημιορισμένος πίνακας. Δηλαδή, αν το <userinput>HermitianProduct(M*v,v)</userinput> είναι πάντα μη αρνητικό για κάθε διάνυσμα <varname>v</varname>. Το <varname>M</varname> πρέπει να είναι τετραγωνικός και ερμιτιανός για να είναι θετικά ημιορισμένος. Ο έλεγχος που εκτελείται είναι ότι κάθε βασικός υποπίνακας έχει μια μη αρνητική ορίζουσα. (Δείτε <link linkend="gel-function-HermitianProduct">HermitianProduct</link>)</para>
	  <para>Σημειώστε ότι κάποιοι συγγραφείς δεν απαιτούν ο <varname>M</varname> να είναι ερμιτιανός και τότε η συνθήκη είναι στο πραγματικό μέρος του εσωτερικού γινομένου, αλλά δεν παίρνουμε αυτήν την πλευρά. Αν θέλετε να εκτελέσετε αυτόν τον έλεγχο, ελέγξτε απλά το ερμιτιανό μέρος του πίνακα <varname>M</varname> ως εξής: <userinput>IsPositiveSemidefinite(M+M')</userinput>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PositiveSemidefinite.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/PositiveSemidefiniteMatrix.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsSkewHermitian"/>IsSkewHermitian</term>
         <listitem>
          <synopsis>IsSkewHermitian (M)</synopsis>
          <para>Αν είναι ο πίνακας λοξός ερμιτιανός. Δηάδή, αν είναι ο συζυγής ανάστροφος ίσος με τον αρνητικό του πίνακα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/SkewHermitianMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsUnitary"/>IsUnitary</term>
         <listitem>
          <synopsis>IsUnitary (M)</synopsis>
          <para>Είναι ένας πίνακας μοναδιαίος; Δηλαδή, αν είναι οι <userinput>M'*M</userinput> and <userinput>M*M'</userinput> ίσοι στην ταυτότητα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/UnitaryTransformation.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/UnitaryMatrix.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-JordanBlock"/>JordanBlock</term>
         <listitem>
          <synopsis>JordanBlock (n,lambda)</synopsis>
          <para>Παραλλαγές: <function>J</function></para>
          <para>Δίνει το μπλοκ Jordan που αντιστοιχεί στην ιδιοτιμή <varname>lambda</varname> με πολλαπλότητα <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/JordanCanonicalFormTheorem.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/JordanBlock.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Kernel"/>Kernel</term>
         <listitem>
          <synopsis>Kernel (T)</synopsis>
          <para>Δίνει τον πυρήνα (διάστημα κενού) ενός γραμμικού μετασχηματισμού.</para>
	  <para>(Δείτε <link linkend="gel-function-NullSpace">NullSpace</link>)</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-KroneckerProduct"/>KroneckerProduct</term>
         <listitem>
          <synopsis>KroneckerProduct (M, N)</synopsis>
          <para>Παραλλαγές: <function>TensorProduct</function></para>
	  <para>Υπολογίζει το γινόμενο Κρόνεκερ (γινόμενο τανυστή σε τυπική βάση) δύο πινάκων.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Kronecker_product">Wikipedia</ulink>, <ulink url="http://planetmath.org/encyclopedia/KroneckerProduct.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/KroneckerProduct.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>


        <varlistentry>
         <term><anchor id="gel-function-LUDecomposition"/>LUDecomposition</term>
         <listitem>
          <synopsis>LUDecomposition (A, L, U)</synopsis>
          <para>Δίνει την ανάλυση LU του <varname>A</varname>, δηλαδή βρίσκει έναν κάτω τριγωνικό πίνακα και έναν άνω τριγωνικό πίνακα των οποίων το γινόμενο είναι <varname>A</varname> Αποθηκεύει το αποτέλεσμα στα <varname>L</varname> και<varname>U</varname> που πρέπει να είναι αναφορές. Επιστρέφει <constant>true</constant> αν είναι πετυχημένο. Για παράδειγμα, ας υποθέσουμε ότι ο Α είναι ένας τετραγωνικός πίνακας, έπειτα μετά την εκτέλεση: <screen><prompt>genius&gt;</prompt> <userinput>LUDecomposition(A,&amp;L,&amp;U)</userinput>
</screen> Θα έχετε τον κάτω πίνακα αποθηκευμένο σε μια μεταβλητή που λέγεται <varname>L</varname> και τον πάνω πίνακα σε μια μεταβλητή που λέγεται <varname>U</varname>.</para>
	  <para>Αυτή είναι η ανάλυση LU ενός πίνακα γνωστό και ως Crout και/ή αναγωγή Σολεσκί. (ISBN 0-201-11577-8 pp.99-103) Ο άνω τριγωνικός πίνακας χαρακτηρίζει μια διαγώνιο τιμών 1 (ένα). Αυτή δεν είναι η μέθοδος του Doolittle που χαρακτηρίζει τη διαγώνιο του 1 στον κάτω πίνακα.</para>
	  <para>Δεν έχουν όλοι οι πίνακες αναλύσεις LU, για παράδειγμα το <userinput>[0,1;1,0]</userinput> δεν έχει και αυτή η συνάρτηση επιστρέφει <constant>false</constant> σε αυτήν την περίπτωση και ορίζει <varname>L</varname> και<varname>U</varname> σε <constant>null</constant>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/LU_decomposition">Wikipedia</ulink>, <ulink url="http://planetmath.org/encyclopedia/LUDecomposition.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/LUDecomposition.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Minor"/>Minor</term>
         <listitem>
          <synopsis>Minor (M,i,j)</synopsis>
          <para>Δίνει τον ελάσσονα <varname>i</varname>-<varname>j</varname> ενός πίνακα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Minor.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NonPivotColumns"/>NonPivotColumns</term>
         <listitem>
          <synopsis>NonPivotColumns (M)</synopsis>
          <para>Επιστρέφει τις στήλες που δεν είναι οδηγούσες στήλες ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Norm"/>Norm</term>
         <listitem>
          <synopsis>Norm (v,p...)</synopsis>
          <para>Παραλλαγές: <function>norm</function></para>
          <para>Δίνει τη νόρμα p (ή νόρμα 2 αν κανένα p δεν δίνεται) ενός διανύσματος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NullSpace"/>NullSpace</term>
         <listitem>
          <synopsis>NullSpace (T)</synopsis>
          <para>Δίνει τον μηδενικό χώρο ενός πίνακα. Δηλαδή, τον πυρήνα της γραμμικής απεικόνισης που απεικονίζει ο πίνακας. Αυτός επιστρέφεται ως ένας πίνακας του οποίου ο χώρος στηλών είναι ο μηδενικός χώρος του <varname>T</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Nullspace.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Nullity"/>Nullity</term>
         <listitem>
          <synopsis>Nullity (M)</synopsis>
          <para>Παραλλαγές: <function>nullity</function></para>
          <para>Δίνει την μηδενικότητα ενός πίνακα. Δηλαδή, επιστρέφει τη διάσταση του μηδενικού χώρου· η διάσταση του πυρήνα του <varname>M</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Nullity.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OrthogonalComplement"/>OrthogonalComplement</term>
         <listitem>
          <synopsis>OrthogonalComplement (M)</synopsis>
          <para>Δίνει του ορθογωνίου συμπληρώματος του χώρου στήλης.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PivotColumns"/>PivotColumns</term>
         <listitem>
          <synopsis>PivotColumns (M)</synopsis>
          <para>Επιστρέφει τις οδηγούσες στήλες ενός πίνακα, δηλαδή τις στήλες που έχουν ένα αρχικό 1 σε ανηγμένη μορφή κατά γραμμές. Επίσης επιστρέφει τη γραμμή που αυτό συμβαίνει.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Projection"/>Projection</term>
         <listitem>
          <synopsis>Projection (v,W,B...)</synopsis>
	  <para>Προβολή του διανύσματος <varname>v</varname> στον υπόχωρο <varname>W</varname> ως προς το δοσμένο εσωτερικό γινόμενο από το <varname>B</varname>. Αν το <varname>B</varname> δεν δίνεται, τότε το τυπικό ερμιτιανό γινόμενο χρησιμοποιείται. Το <varname>B</varname> μπορεί ή να είναι γραμμικο-ημιγραμμική συνάρτηση των δύο ορισμάτων ή μπορεί να είναι ένας πίνακας που δίνει μια γραμμικο-ημιγραμμική μορφή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-QRDecomposition"/>QRDecomposition</term>
         <listitem>
          <synopsis>QRDecomposition (A, Q)</synopsis>
          <para>Δίνει την ανάλυση QR ενός τετραγωνικού πίνακα <varname>A</varname>, επιστρέφει τον άνω τριγωνικό πίνακα <varname>R</varname> και ορίζει το <varname>Q</varname> στον ορθογώνιο (μοναδιαίο) πίνακα. Το <varname>Q</varname> πρέπει να είναι μια αναφορά ή <constant>null</constant>, αν δεν θέλετε καμιά επιστροφή. Για παράδειγμα: <screen><prompt>genius&gt;</prompt> <userinput>R = QRDecomposition(A,&amp;Q)</userinput>
</screen> Θα έχετε τον άνω τριγωνικό πίνακα αποθηκευμένο σε μια μεταβλητή που λέγεται <varname>R</varname> και τον ορθογώνιο (μοναδιαίο) πίνακα αποθηκευμένο στο <varname>Q</varname>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/QR_decomposition">Wikipedia</ulink> or <ulink url="http://planetmath.org/encyclopedia/QRDecomposition.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/QRDecomposition.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RayleighQuotient"/>RayleighQuotient</term>
         <listitem>
          <synopsis>RayleighQuotient (A,x)</synopsis>
          <para>Επιστρέφει το πηλίκο Ρέιλι (λέγεται επίσης πηλίκο ή λόγος Ρέιλι-Ρίτζ) ενός πίνακα και ενός διανύσματος.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/RayleighQuotient.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RayleighQuotientIteration"/>RayleighQuotientIteration</term>
         <listitem>
          <synopsis>RayleighQuotientIteration (A,x,epsilon,maxiter,vecref)</synopsis>
          <para>Βρίσκει τις ιδιοτιμές του <varname>A</varname> χρησιμοποιώντας τη μέθοδο επανάληψης πηλίκου Ρέιλι. Το <varname>x</varname> είναι μια πρόβλεψη στο ιδιοδιάνυσμα και μπορεί να είναι τυχαία. Πρέπει να έχει μη μηδενικό φανταστικό μέρος, αν θα έχει κάποια πιθανότητα στην εύρεση μιγαδικών ιδιοτιμών. Ο κώδικας θα εκτελεστεί στις περισσότερες επαναλήψεις <varname>maxiter</varname> και θα επιστρέψει <constant>null</constant> αν δε μπορούμε να πάρουμε ένα σφάλμα του <varname>epsilon</varname>. Το <varname>vecref</varname> πρέπει να είναι <constant>null</constant> ή μια αναφορά σε μεταβλητή όπου το ιδιοδιάνυσμα πρέπει να αποθηκευτεί.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/RayleighQuotient.html">Planetmath</ulink> για περισσότερες πληροφορίες στο πηλίκο Ρέιλι.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Rank"/>Rank</term>
         <listitem>
          <synopsis>Rank (M)</synopsis>
          <para>Παραλλαγές: <function>rank</function></para>
          <para>Δίνει την τάξη ενός πίνακα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/SylvestersLaw.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RosserMatrix"/>RosserMatrix</term>
         <listitem>
          <synopsis>RosserMatrix ()</synopsis>
          <para>Επιστρέφει τον πίνακα Ρόσερ, που είναι ένα κλασικό συμμετρικό πρόβλημα δοκιμής ιδιοτιμής.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Rotation2D"/>Rotation2D</term>
         <listitem>
          <synopsis>Rotation2D (angle)</synopsis>
          <para>Aliases: <function>RotationMatrix</function></para>
          <para>Επιστρέφει τον πίνακα που αντιστοιχεί στην περιστροφή γύρω από το αρχικό στο R<superscript>2</superscript>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Rotation3DX"/>Rotation3DX</term>
         <listitem>
          <synopsis>Rotation3DX (angle)</synopsis>
          <para>Επιστρέφει τον πίνακα που αντιστοιχεί στην περιστροφή γύρω από τον αρχικό στο R<superscript>3</superscript> γύρω από τον άξονα x.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Rotation3DY"/>Rotation3DY</term>
         <listitem>
          <synopsis>Rotation3DY (angle)</synopsis>
          <para>Επιστρέφει τον πίνακα που αντιστοιχεί στην περιστροφή γύρω από τον αρχικό στο R<superscript>3</superscript> γύρω από τον άξονα y.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Rotation3DZ"/>Rotation3DZ</term>
         <listitem>
          <synopsis>Rotation3DZ (angle)</synopsis>
          <para>Επιστρέφει τον πίνακα που αντιστοιχεί στην περιστροφή γύρω από τον αρχικό στο R<superscript>3</superscript> γύρω από τον άξονα z.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowSpace"/>RowSpace</term>
         <listitem>
          <synopsis>RowSpace (M)</synopsis>
          <para>Δίνει έναν πίνακα βάσης για χώρο γραμμών ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SesquilinearForm"/>SesquilinearForm</term>
         <listitem>
          <synopsis>SesquilinearForm (v,A,w)</synopsis>
          <para>Υπολογίζει το (v,w) ως προς τη γραμμικο-ημιγραμμική μορφή που δίνεται από τον πίνακα Α.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SesquilinearFormFunction"/>SesquilinearFormFunction</term>
         <listitem>
          <synopsis>SesquilinearFormFunction (A)</synopsis>
          <para>Επιστρέφει μια συνάρτηση που υπολογίζει δύο διανύσματα ως προς τη γραμμικο-ημιγραμμική μορφή που δίνεται από το Α.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SmithNormalFormField"/>SmithNormalFormField</term>
         <listitem>
          <synopsis>SmithNormalFormField (A)</synopsis>
          <para>Επιστρέφει την κανονική μορφή Σμιθ ενός πίνακα για πεδία (θα τελειώνει με 1 στη διαγώνιο).</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Smith_normal_form">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SmithNormalFormInteger"/>SmithNormalFormInteger</term>
         <listitem>
          <synopsis>SmithNormalFormInteger (M)</synopsis>
          <para>Επιστρέφει την κανονική μορφή Σμιθ για τετράγωνους ακέραιους πίνακες σε ακέραιους (όχι τα χαρακτηριστικά του).</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Smith_normal_form">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SolveLinearSystem"/>SolveLinearSystem</term>
         <listitem>
          <synopsis>SolveLinearSystem (M,V,args...)</synopsis>
	  <para>Επιλύει το γραμμικό σύστημα Mx=V, επιστρέφει τη λύση V αν υπάρχει μια μοναδική λύση, αλλιώς <constant>null</constant>. Δύο πρόσθετες παράμετροι αναφοράς μπορούν να χρησιμοποιηθούν προαιρετικά για να δώσουν τα ανηγμένα M και V.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ToeplitzMatrix"/>ToeplitzMatrix</term>
         <listitem>
          <synopsis>ToeplitzMatrix (c, r...)</synopsis>
	  <para>Επιστρέφει τον πίνακα Toeplitz που κατασκευάστηκε με δεδομένη την πρώτη στήλη c και (προαιρετικά) την πρώτη γραμμή r. Αν δίνεται μόνο η στήλη c, τότε είναι συζυγής και η μη συζυγής έκδοση χρησιμοποιείται για να δώσει η πρώτη γραμμή τον ερμιτιανό πίνακα (αν το πρώτο στοιχείο είναι πραγματικός φυσικά).</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Toeplitz_matrix">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/ToeplitzMatrix.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Trace"/>Trace</term>
         <listitem>
          <synopsis>Trace (M)</synopsis>
          <para>Παραλλαγές: <function>trace</function></para>
          <para>Υπολογίζει το ίχνος ενός πίνακα. Δηλαδή, το άθροισμα των διαγώνιων στοιχείων.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Trace_(linear_algebra)">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/Trace.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Transpose"/>Transpose</term>
         <listitem>
          <synopsis>Transpose (M)</synopsis>
          <para>Ανάστροφος ενός πίνακα. Αυτός είναι ο ίδιος με τον τελεστή <userinput>.'</userinput>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Transpose">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/Transpose.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VandermondeMatrix"/>VandermondeMatrix</term>
         <listitem>
          <synopsis>VandermondeMatrix (v)</synopsis>
          <para>Παραλλαγές: <function>vander</function></para>
          <para>Επιστρέφει τον πίνακα Vandermonde.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Vandermonde_matrix">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorAngle"/>VectorAngle</term>
         <listitem>
          <synopsis>VectorAngle (v,w,B...)</synopsis>
          <para>Η γωνία των δύο διανυσμάτων ως προς το εσωτερικό γινόμενο που δίνει ο <varname>B</varname>. Αν ο <varname>B</varname> δεν δίνεται, τότε το τυπικό ερμιτιανό γινόμενο χρησιμοποιείται. Ο <varname>B</varname> μπορεί είτε να είναι γραμμικο-ημιγραμμική συνάρτηση δύο ορισμάτων ή μπορεί να είναι ένας πίνακας που δίνει μια γραμμικο-ημιγραμμική μορφή.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorSpaceDirectSum"/>VectorSpaceDirectSum</term>
         <listitem>
          <synopsis>VectorSpaceDirectSum (M,N)</synopsis>
          <para>Το ευθύ άθροισμα των διαστημάτων διανύσματος Μ και Ν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorSubspaceIntersection"/>VectorSubspaceIntersection</term>
         <listitem>
          <synopsis>VectorSubspaceIntersection (M,N)</synopsis>
          <para>Τομή των υποχώρων που δίνονται από Μ και Ν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorSubspaceSum"/>VectorSubspaceSum</term>
         <listitem>
          <synopsis>VectorSubspaceSum (M,N)</synopsis>
          <para>Το άθροισμα των διανυσματικών χώρων M και N, δηλαδή {w | w=m+n, m στο M, n στο N}.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-adj"/>adj</term>
         <listitem>
          <synopsis>adj (m)</synopsis>
          <para>Παραλλαγές: <function>Adjugate</function></para>
          <para>Δίνει τον κλασικό συζυγή ενός πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-cref"/>cref</term>
         <listitem>
          <synopsis>cref (M)</synopsis>
          <para>Παραλλαγές: <function>CREF</function><function>ColumnReducedEchelonForm</function></para>
          <para>Υπολογίζει την ανηγμένη κλιμακωτή μορφή κατά στήλες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-det"/>det</term>
         <listitem>
          <synopsis>det (M)</synopsis>
          <para>Παραλλαγές: <function>Determinant</function></para>
          <para>Δίνει την ορίζουσα ενός πίνακα.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Determinant">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/Determinant2.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ref"/>ref</term>
         <listitem>
          <synopsis>ref (M)</synopsis>
          <para>Παραλλαγές: <function>REF</function><function>RowEchelonForm</function></para>
	  <para>Δίνει την μορφή κλιμακωτής γραμμής ενός πίνακα. Δηλαδή, εφαρμόζει την απαλοιφή Γκάους, αλλά όχι την πίσω πρόσθεση στο <varname>M</varname>. Οι οδηγούσες γραμμές διαιρούνται για να κάνουν όλους τους οδηγούς 1.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Row_echelon_form">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/RowEchelonForm.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-rref"/>rref</term>
         <listitem>
          <synopsis>rref (M)</synopsis>
          <para>Παραλλαγές: <function>RREF</function><function>ReducedRowEchelonForm</function></para>
          <para>Δίνει τη ανηγμένη κλιμακωτή μορφή κατά γραμμές ενός πίνακα. Δηλαδή, εφαρμόζει την απαλοιφή Γκάους μαζί με την πίσω πρόσθεση στο <varname>M</varname>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Reduced_row_echelon_form">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/ReducedRowEchelonForm.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-combinatorics">
      <title>Συνδυαστική Ανάλυση</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-Catalan"/>Catalan</term>
         <listitem>
          <synopsis>Catalan (n)</synopsis>
          <para>Δίνει τον <varname>n</varname>στό αριθμό Catalan.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/CatalanNumbers.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Combinations"/>Combinations</term>
         <listitem>
          <synopsis>Combinations (k,n)</synopsis>
          <para>Δίνει όλους τους συνδυασμούς των k αριθμών από 1 μέχρι n ως ένα διάνυσμα διανυσμάτων. (Δείτε επίσης <link linkend="gel-function-NextCombination">NextCombination</link>)</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DoubleFactorial"/>DoubleFactorial</term>
         <listitem>
          <synopsis>DoubleFactorial (n)</synopsis>
          <para>Διπλό παραγοντικό: <userinput>n(n-2)(n-4)...</userinput></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/DoubleFactorial.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Factorial"/>Factorial</term>
         <listitem>
          <synopsis>Factorial (n)</synopsis>
          <para>Παραγοντικό: <userinput>n(n-1)(n-2)...</userinput></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Factorial.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FallingFactorial"/>FallingFactorial</term>
         <listitem>
          <synopsis>FallingFactorial (n,k)</synopsis>
          <para>Μειούμενο παραγοντικό: <userinput>(n)_k = n(n-1)...(n-(k-1))</userinput></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/FallingFactorial.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Fibonacci"/>Fibonacci</term>
         <listitem>
          <synopsis>Fibonacci (x)</synopsis>
          <para>Παραλλαγές: <function>fib</function></para>
          <para>Υπολογίζει τον <varname>n</varname>στό αριθμό Φιμπονάτσι. Δηλαδή, τον αριθμό που ορίζεται αναδρομικά από <userinput>Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2)</userinput> και <userinput>Fibonacci(1) = Fibonacci(2) = 1</userinput>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fibonacci_number">Wikipedia</ulink> ή <ulink url="http://planetmath.org/encyclopedia/FibonacciSequence.html">Planetmath</ulink> or <ulink url="http://mathworld.wolfram.com/FibonacciNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FrobeniusNumber"/>FrobeniusNumber</term>
         <listitem>
          <synopsis>FrobeniusNumber (v,arg...)</synopsis>
          <para>Υπολογίζει τον αριθμό Φρομπένιους. Δηλαδή, υπολογίζει τον ελάχιστο αριθμό που δεν μπορεί να δοθεί ως μη αρνητικός ακέραιος γραμμικός συνδυασμός του δοσμένου διανύσματος μη αρνητικών ακεραίων. Το διάνυσμα μπορεί να δοθεί ως διακριτοί αριθμοί ενός μοναδικού διανύσματος. Όλοι οι δεδομένοι αριθμοί πρέπει να έχουν ΜΚΔ 1.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/FrobeniusNumber.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GaloisMatrix"/>GaloisMatrix</term>
         <listitem>
          <synopsis>GaloisMatrix (combining_rule)</synopsis>
          <para>Με δεδομένο τον πίνακα Γκαλουά ένας κανόνας γραμμικού συνδυασμού (a_1*x_+...+a_n*x_n=x_(n+1)).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GreedyAlgorithm"/>GreedyAlgorithm</term>
         <listitem>
          <synopsis>FrobeniusNumber (n,v)</synopsis>
          <para>Βρίσκει το διάνυσμα <varname>c</varname> μη αρνητικών ακεραίων έτσι ώστε να παίρνει το εσωτερικό γινόμενο με το <varname>v</varname> να είναι ίσο με n. Αν δεν είναι δυνατό, επιστρέφει <constant>null</constant>. Το <varname>v</varname> πρέπει να δίνεται ταξινομημένο με αύξουσα διάταξη και πρέπει να αποτελείται από μη αρνητικούς ακέραιους.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/GreedyAlgorithm.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-HarmonicNumber"/>HarmonicNumber</term>
         <listitem>
          <synopsis>HarmonicNumber (n,r)</synopsis>
          <para>Παραλλαγές: <function>HarmonicH</function></para>
          <para>Αρμονικός αριθμός, ο <varname>n</varname>στός αρμονικός αριθμός της τάξης <varname>r</varname>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Hofstadter"/>Hofstadter</term>
         <listitem>
          <synopsis>Hofstadter (n)</synopsis>
          <para>Η συνάρτηση Χόφσταντερ q(n) ορίζεται από q(1)=1, q(2)=1, q(n)=q(n-q(n-1))+q(n-q(n-2)).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinearRecursiveSequence"/>LinearRecursiveSequence</term>
         <listitem>
          <synopsis>LinearRecursiveSequence (seed_values,combining_rule,n)</synopsis>
          <para>Υπολογίζει τη γραμμική κυκλική ακολουθία χρησιμοποιώντας το βηματισμό Γκαλουά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Multinomial"/>Multinomial</term>
         <listitem>
          <synopsis>Multinomial (v,arg...)</synopsis>
          <para>Υπολογίζει τους πολυωνυμικούς συντελεστές. Παίρνει ένα διάνυσμα από <varname>k</varname> μη αρνητικούς ακέραιους και υπολογίζει τον πολυωνυμικό συντελεστή. Αυτός αντιστοιχεί με τον συντελεστή στο ομογενές πολυώνυμο σε <varname>k</varname> μεταβλητές με τις αντίστοιχες δυνάμεις.</para>
	  <para>Ο τύπος για <userinput>Multinomial(a,b,c)</userinput> μπορεί να γραφτεί ως: <programlisting>(a+b+c)! / (a!b!c!)
</programlisting> Με άλλα λόγια, αν μπορούμε να έχουμε δύο μόνο στοιχεία, τότε το <userinput>Multinomial(a,b)</userinput> είναι το ίδιο με το <userinput>Binomial(a+b,a)</userinput> ή <userinput>Binomial(a+b,b)</userinput>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MultinomialTheorem.html">Planetmath</ulink>, <ulink url="http://mathworld.wolfram.com/MultinomialCoefficient.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Multinomial_theorem">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NextCombination"/>NextCombination</term>
         <listitem>
          <synopsis>NextCombination (v,n)</synopsis>
	  <para>Δίνει τον συνδυασμό που μπορεί να έρθει μετά το v στην κλήση στους συνδυασμούς της συνάρτησης, ο πρώτος συνδυασμός πρέπει να είναι <userinput>[1:k]</userinput>. Αυτή η συνάρτηση είναι χρήσιμη, αν έχετε πολλούς συνδυασμούς να περάσετε και δεν θέλετε να σπαταλήσετε μνήμη για να τους αποθηκεύσετε όλους.</para>
	  <para>Για παράδειγμα με τον συνδυασμό θα πρέπει κανονικά να γράψετε έναν βρόχο όπως: <screen><userinput>for n in Combinations (4,6) do (
  SomeFunction (n)
);</userinput>
</screen> Αλλά με το NextCombination θα πρέπει να γράψετε κάτι όπως το: <screen><userinput>n:=[1:4];
do (
  SomeFunction (n)
) while not IsNull(n:=NextCombination(n,6));</userinput>
</screen> See also <link linkend="gel-function-Combinations">Combinations</link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Pascal"/>Pascal</term>
         <listitem>
          <synopsis>Pascal (i)</synopsis>
          <para>Δίνει το τρίγωνο του Πασκάλ ως πίνακα. Αυτό θα επιστρέψει έναν <varname>i</varname>+1 επί <varname>i</varname>+1 κάτω διαγώνιο πίνακα που είναι το τρίγωνο Πασκάλ μετά από <varname>i</varname> επαναλήψεις.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PascalsTriangle.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Permutations"/>Permutations</term>
         <listitem>
          <synopsis>Permutations (k,n)</synopsis>
          <para>Δίνει όλες τις μεταθέσεις των <varname>k</varname> αριθμών από 1 μέχρι <varname>n</varname> ως ένα διάνυσμα διανυσμάτων.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/Permutation.html">Mathworld</ulink> ή <ulink url="http://en.wikipedia.org/wiki/Permutation">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RisingFactorial"/>RisingFactorial</term>
         <listitem>
          <synopsis>RisingFactorial (n,k)</synopsis>
          <para>Παραλλαγές: <function>Pochhammer</function></para>
          <para>(Pochhammer) Rising factorial: (n)_k = n(n+1)...(n+(k-1)).</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/RisingFactorial.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StirlingNumberFirst"/>StirlingNumberFirst</term>
         <listitem>
          <synopsis>StirlingNumberFirst (n,m)</synopsis>
          <para>Παραλλαγές: <function>StirlingS1</function></para>
          <para>Ο αριθμός Στέρλινγκ πρώτου είδους.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/StirlingNumbersOfTheFirstKind.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/StirlingNumberoftheFirstKind.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StirlingNumberSecond"/>StirlingNumberSecond</term>
         <listitem>
          <synopsis>StirlingNumberSecond (n,m)</synopsis>
          <para>Παραλλαγές: <function>StirlingS2</function></para>
          <para>Ο αριθμός Στέρλινγκ δεύτερου είδους.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/StirlingNumbersSecondKind.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/StirlingNumberoftheSecondKind.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Subfactorial"/>Subfactorial</term>
         <listitem>
          <synopsis>Subfactorial (n)</synopsis>
          <para>Subfactorial: n! times sum_{k=1}^n (-1)^k/k!.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Triangular"/>Triangular</term>
         <listitem>
          <synopsis>Triangular (nth)</synopsis>
          <para>Υπολογίζει τον <varname>n</varname>στό τριγωνικό αριθμό.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/TriangularNumbers.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-nCr"/>nCr</term>
         <listitem>
          <synopsis>nCr (n,r)</synopsis>
          <para>Παραλλαγές: <function>Binomial</function></para>
          <para>Υπολογίζει συνδυασμούς, δηλαδή, τον συντελεστή διωνύμου. Το <varname>n</varname> μπορεί να είναι οποιοσδήποτε πραγματικός αριθμός.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/Choose.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-nPr"/>nPr</term>
         <listitem>
          <synopsis>nPr (n,r)</synopsis>
          <para>Υπολογίζει τον αριθμό των μεταθέσεων του μεγέθους <varname>r</varname> των αριθμών από 1 μέχρι <varname>n</varname>.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/Permutation.html">Mathworld</ulink> ή <ulink url="http://en.wikipedia.org/wiki/Permutation">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-calculus">
      <title>Μαθηματική Ανάλυση</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-CompositeSimpsonsRule"/>CompositeSimpsonsRule</term>
         <listitem>
          <synopsis>CompositeSimpsonsRule (f,a,b,n)</synopsis>
          <para>Ολοκλήρωση του f από τον σύνθετο κανόνα του Σίμπσον στο διάστημα [a,b] με n υποδιαστήματα με σφάλμα του max(f'''')*h^4*(b-a)/180, σημειώστε ότι το n πρέπει να είναι άρτιος.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/SimpsonsRule.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-CompositeSimpsonsRuleTolerance"/>CompositeSimpsonsRuleTolerance</term>
         <listitem>
          <synopsis>CompositeSimpsonsRuleTolerance (f,a,b,FourthDerivativeBound,Tolerance)</synopsis>
          <para>Ολοκλήρωση της f από τον σύνθετο κανόνα Σίμπσον του διαστήματος [a,b] με τον αριθμό των υπολογιζόμενων βημάτων από το τέταρτο φράγμα παραγώγου και την επιθυμητή ανοχή.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/SimpsonsRule.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Derivative"/>Derivative</term>
         <listitem>
          <synopsis>Derivative (f,x0)</synopsis>
          <para>Προσπαθεί να υπολογίσει την παράγωγου δοκιμάζοντας πρώτα συμβολικά και έπειτα αριθμητικά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-EvenPeriodicExtension"/>EvenPeriodicExtension</term>
         <listitem>
          <synopsis>EvenPeriodicExtension (f,L)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι άρτια περιοδική επέκταση της <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή μια συνάρτηση που ορίστηκε στο διάστημα <userinput>[0,L]</userinput> επεκτάθηκε για να είναι άρτια στο <userinput>[-L,L]</userinput> και έπειτα επεκτάθηκε να είναι περιοδική με περίοδο <userinput>2*L</userinput>.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-OddPeriodicExtension">OddPeriodicExtension</link> και <link linkend="gel-function-PeriodicExtension">PeriodicExtension</link>.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FourierSeriesFunction"/>FourierSeriesFunction</term>
         <listitem>
          <synopsis>FourierSeriesFunction (a,b,L)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι μια σειρά Φουριέ με τους συντελεστές δοσμένους από τα διανύσματα <varname>a</varname> (ημίτονα) and <varname>b</varname> (συνημίτονα). Σημειώστε ότι, το <userinput>a@(1)</userinput> είναι συντελεστής σταθεράς! Δηλαδή, το <userinput>a@(n)</userinput> αναφέρεται στον όρο <userinput>cos(x*(n-1)*pi/L)</userinput>, ενώ το <userinput>b@(n)</userinput> αναφέρεται στον όρο <userinput>sin(x*n*pi/L)</userinput>. Είτε το <varname>a</varname> είτε το <varname>b</varname> μπορεί να είναι <constant>null</constant>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierSeries.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InfiniteProduct"/>InfiniteProduct</term>
         <listitem>
          <synopsis>InfiniteProduct (func,start,inc)</synopsis>
          <para>Προσπαθεί να υπολογίσει ένα άπειρο γινόμενο για μια συνάρτηση απλής παραμέτρου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InfiniteProduct2"/>InfiniteProduct2</term>
         <listitem>
          <synopsis>InfiniteProduct2 (func,arg,start,inc)</synopsis>
          <para>Προσπαθεί να υπολογίσει ένα άπειρο γινόμενο για μια συνάρτηση διπλής παραμέτρου με func(arg,n).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InfiniteSum"/>InfiniteSum</term>
         <listitem>
          <synopsis>InfiniteSum (func,start,inc)</synopsis>
          <para>Προσπαθεί να υπολογίσει ένα άπειρο άθροισμα για μια συνάρτηση απλής παραμέτρου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-InfiniteSum2"/>InfiniteSum2</term>
         <listitem>
          <synopsis>InfiniteSum2 (func,arg,start,inc)</synopsis>
          <para>Προσπαθεί να υπολογίσει ένα άπειρο άθροισμα για μια συνάρτηση διπλής παραμέτρου με func(arg,n).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsContinuous"/>IsContinuous</term>
         <listitem>
          <synopsis>IsContinuous (f,x0)</synopsis>
          <para>Δοκιμάστε για να δείτε αν μια συνάρτηση πραγματικών τιμών είναι συνεχής στο x0 υπολογίζοντας το όριο εκεί.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsDifferentiable"/>IsDifferentiable</term>
         <listitem>
          <synopsis>IsDifferentiable (f,x0)</synopsis>
          <para>Δοκιμή διαφορισιμότητας προσεγγίζοντας το αριστερό και δεξιό όριο και συγκρίνοντας.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LeftLimit"/>LeftLimit</term>
         <listitem>
          <synopsis>LeftLimit (f,x0)</synopsis>
          <para>Υπολογίζει το αριστερό όριο μιας συνάρτησης πραγματικών στο x0.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Limit"/>Limit</term>
         <listitem>
          <synopsis>Limit (f,x0)</synopsis>
          <para>Υπολογίζει το όριο μιας συνάρτησης πραγματικών στο x0. Προσπαθεί να υπολογίσει και το αριστερό και το δεξιό όριο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MidpointRule"/>MidpointRule</term>
         <listitem>
          <synopsis>MidpointRule (f,a,b,n)</synopsis>
          <para>Ολοκλήρωση με τον κανόνα μέσου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalDerivative"/>NumericalDerivative</term>
         <listitem>
          <synopsis>NumericalDerivative (f,x0)</synopsis>
          <para>Παραλλαγές: <function>NDerivative</function></para>
          <para>Προσπάθεια υπολογισμού αριθμητικής παραγώγου.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierSeriesCoefficients"/>NumericalFourierSeriesCoefficients</term>
         <listitem>
          <synopsis>NumericalFourierSeriesCoefficients (f,L,N)</synopsis>
	  <para>Επιστρέφει ένα διάνυσμα διανυσμάτων <userinput>[a,b]</userinput> όπου το <varname>a</varname> είναι οι συντελεστές συνημιτόνου και το <varname>b</varname> είναι οι συντελεστές ημιτόνου της σειράς Φουριέ του <function>f</function> με ημιπερίοδο <varname>L</varname> (που ορίζεται στο <userinput>[-L,L]</userinput> και επεκτείνεται περιοδικά) με συντελεστές μέχρι τον <varname>N</varname>στό αρμονικό που υπολογίζεται αριθμητικά. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας το <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierSeries.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierSeriesFunction"/>NumericalFourierSeriesFunction</term>
         <listitem>
          <synopsis>NumericalFourierSeriesFunction (f,L,N)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι η σειρά Φουριέ του <function>f</function> με ημιπερίοδο <varname>L</varname> (που ορίζεται στο <userinput>[-L,L]</userinput> και επεκτείνεται περιοδικά) με συντελεστές μέχρι τον <varname>N</varname>στό αρμονικό που υπολογίζεται αριθμητικά. Αυτή είναι η τριγωνομετρική πραγματική σειρά που αποτελείται από ημίτονα και συνημίτονα. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας το <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierSeries.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierCosineSeriesCoefficients"/>NumericalFourierCosineSeriesCoefficients</term>
         <listitem>
          <synopsis>NumericalFourierCosineSeriesCoefficients (f,L,N)</synopsis>
	  <para>Επιστρέφει ένα διάνυσμα συντελεστών της σειράς Φουριέ συνημιτόνου του <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή, η <function>f</function> ορισμένη στο <userinput>[0,L]</userinput> παίρνει την άρτια περιοδική επέκταση και υπολογίζει τη σειρά Φουριέ, η οποία έχει μόνο όρους συνημιτόνου. Η σειρά υπολογίζεται μέχρι τον <varname>N</varname>στό αρμονικό. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας την <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>. Σημειώστε ότι το <userinput>a@(1)</userinput> είναι ο συντελεστής σταθεράς! Δηλαδή, <userinput>a@(n)</userinput> αναφέρεται στον όρο <userinput>cos(x*(n-1)*pi/L)</userinput>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierCosineSeries.html">Mathworld</ulink> Για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
	  </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierCosineSeriesFunction"/>NumericalFourierCosineSeriesFunction</term>
         <listitem>
          <synopsis>NumericalFourierCosineSeriesFunction (f,L,N)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι η σειρά Φουριέ συνημιτόνου του <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή, παίρνουμε την <function>f</function> ορισμένη στο <userinput>[0,L]</userinput>, παίρνει την άρτια περιοδική επέκταση και υπολογίζει τη σειρά Φουριέ, η οποία έχει μόνο όρους συνημιτόνου. Η σειρά υπολογίζεται μέχρι τον <varname>N</varname>στό αρμονικό. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας την <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierCosineSeries.html">Mathworld</ulink> Για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierSineSeriesCoefficients"/>NumericalFourierSineSeriesCoefficients</term>
         <listitem>
          <synopsis>NumericalFourierSineSeriesCoefficients (f,L,N)</synopsis>
	  <para>Επιστρέφει ένα διάνυσμα συντελεστών της σειράς Φουριέ ημιτόνου του <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή, η <function>f</function> ορισμένη στο <userinput>[0,L]</userinput> παίρνει την περιττή περιοδική επέκταση και υπολογίζει τη σειρά Φουριέ, η οποία έχει μόνο όρους ημιτόνου. Η σειρά υπολογίζεται μέχρι τον <varname>N</varname>στό αρμονικό. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας την <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierSineSeries.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalFourierSineSeriesFunction"/>NumericalFourierSineSeriesFunction</term>
         <listitem>
          <synopsis>NumericalFourierSineSeriesFunction (f,L,N)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι η σειρά Φουριέ ημιτόνου του <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή, παίρνουμε τη <function>f</function> ορισμένη στο <userinput>[0,L]</userinput>, παίρνει την άρτια περιοδική επέκταση και υπολογίζει τη σειρά Φουριέ, η οποία έχει μόνο όρους ημιτόνου. Η σειρά υπολογίζεται μέχρι τον <varname>N</varname>στό αρμονικό. Οι συντελεστές υπολογίζονται με αριθμητική ολοκλήρωση χρησιμοποιώντας την <link linkend="gel-function-NumericalIntegral"><function>NumericalIntegral</function></link>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Fourier_series">Wikipedia</ulink> ή <ulink url="http://mathworld.wolfram.com/FourierSineSeries.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalIntegral"/>NumericalIntegral</term>
         <listitem>
          <synopsis>NumericalIntegral (f,a,b)</synopsis>
          <para>Ολοκλήρωση με τον κανόνα που ορίστηκε στο NumericalIntegralFunction του f από το a μέχρι το b χρησιμοποιώντας βήματα NumericalIntegralSteps.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalLeftDerivative"/>NumericalLeftDerivative</term>
         <listitem>
          <synopsis>NumericalLeftDerivative (f,x0)</synopsis>
          <para>Προσπαθεί να υπολογίσει την αριθμητική αριστερή παράγωγο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalLimitAtInfinity"/>NumericalLimitAtInfinity</term>
         <listitem>
          <synopsis>NumericalLimitAtInfinity (_f,step_fun,tolerance,successive_for_success,N)</synopsis>
          <para>Προσπαθεί να υπολογίσει το όριο του f(step_fun(i)) καθώς το i πηγαίνει από 1 έως N.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NumericalRightDerivative"/>NumericalRightDerivative</term>
         <listitem>
          <synopsis>NumericalRightDerivative (f,x0)</synopsis>
          <para>Προσπαθεί να υπολογίσει την αριθμητική δεξιά παράγωγο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OddPeriodicExtension"/>OddPeriodicExtension</term>
         <listitem>
          <synopsis>OddPeriodicExtension (f,L)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι περιττή περιοδική επέκταση της <function>f</function> με ημιπερίοδο <varname>L</varname>. Δηλαδή μια συνάρτηση που ορίστηκε στο διάστημα <userinput>[0,L]</userinput> επεκτάθηκε για να είναι περιττή στο <userinput>[-L,L]</userinput> και έπειτα επεκτάθηκε να είναι περιοδική με περίοδο <userinput>2*L</userinput>.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-EvenPeriodicExtension">EvenPeriodicExtension</link> και <link linkend="gel-function-PeriodicExtension">PeriodicExtension</link>.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OneSidedFivePointFormula"/>OneSidedFivePointFormula</term>
         <listitem>
          <synopsis>OneSidedFivePointFormula (f,x0,h)</synopsis>
          <para>Υπολογίζει τη μονόπλευρη παράγωγο χρησιμοποιώντας τον τύπο πέντε σημείων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-OneSidedThreePointFormula"/>OneSidedThreePointFormula</term>
         <listitem>
          <synopsis>OneSidedThreePointFormula (f,x0,h)</synopsis>
          <para>Υπολογίζει τη μονόπλευρη παράγωγο χρησιμοποιώντας τον τύπο τριών σημείων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PeriodicExtension"/>PeriodicExtension</term>
         <listitem>
          <synopsis>PeriodicExtension (f,a,b)</synopsis>
	  <para>Επιστρέφει μια συνάρτηση που είναι η περιοδική επέκταση της <function>f</function> ορισμένη στο διάστημα <userinput>[a,b]</userinput> και έχει περίοδο <userinput>b-a</userinput>.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-OddPeriodicExtension">OddPeriodicExtension</link> και <link linkend="gel-function-EvenPeriodicExtension">EvenPeriodicExtension</link>.</para>
	  <para>Version 1.0.7 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RightLimit"/>RightLimit</term>
         <listitem>
          <synopsis>RightLimit (f,x0)</synopsis>
          <para>Υπολογίζει το δεξιό όριο μιας συνάρτησης πραγματικών στο x0.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-TwoSidedFivePointFormula"/>TwoSidedFivePointFormula</term>
         <listitem>
          <synopsis>TwoSidedFivePointFormula (f,x0,h)</synopsis>
          <para>Υπολογίζει τη δίπλευρη παράγωγο χρησιμοποιώντας τον τύπο πέντε σημείων.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-TwoSidedThreePointFormula"/>TwoSidedThreePointFormula</term>
         <listitem>
          <synopsis>TwoSidedThreePointFormula (f,x0,h)</synopsis>
          <para>Υπολογίζει τη δίπλευρη παράγωγο χρησιμοποιώντας τον τύπο τριών σημείων.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-functions">
      <title>Συναρτήσεις</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-Argument"/>Argument</term>
         <listitem>
          <synopsis>Argument (z)</synopsis>
          <para>Παραλλαγές: <function>Arg</function><function>arg</function></para>
          <para>όρισμα (γωνία) μιγαδικού αριθμού.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselJ0"/>BesselJ0</term>
         <listitem>
          <synopsis>BesselJ0 (x)</synopsis>
          <para>Η συνάρτηση Μπεσέλ πρώτου είδους τάξης 0. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselJ1"/>BesselJ1</term>
         <listitem>
          <synopsis>BesselJ1 (x)</synopsis>
          <para>Η συνάρτηση Μπεσέλ πρώτου είδους τάξης 1. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselJn"/>BesselJn</term>
         <listitem>
          <synopsis>BesselJn (n,x)</synopsis>
	  <para>Η συνάρτηση Μπεσέλ πρώτου είδους τάξης <varname>n</varname>. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselY0"/>BesselY0</term>
         <listitem>
          <synopsis>BesselY0 (x)</synopsis>
          <para>Η συνάρτηση Μπεσέλ δεύτερου είδους τάξης 0. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselY1"/>BesselY1</term>
         <listitem>
          <synopsis>BesselY1 (x)</synopsis>
          <para>Η συνάρτηση Μπεσέλ δεύτερου είδους τάξης 1. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-BesselYn"/>BesselYn</term>
         <listitem>
          <synopsis>BesselYn (n,x)</synopsis>
	  <para>Η συνάρτηση Μπεσέλ δεύτερου είδους τάξης <varname>n</varname>. Εφαρμόζεται μόνο για πραγματικούς αριθμούς.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Bessel_functions">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DirichletKernel"/>DirichletKernel</term>
         <listitem>
          <synopsis>DirichletKernel (n,t)</synopsis>
          <para>Πυρήνας Ντιρικλέτ τάξης n.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DiscreteDelta"/>DiscreteDelta</term>
         <listitem>
          <synopsis>DiscreteDelta (v)</synopsis>
          <para>Returns 1 if and only if all elements are zero.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-ErrorFunction"/>ErrorFunction</term>
         <listitem>
          <synopsis>ErrorFunction (x)</synopsis>
          <para>Παραλλαγές: <function>erf</function></para>
          <para>Η συνάρτηση σφάλματος, 2/sqrt(pi) * int_0^x e^(-t^2) dt.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/ErrorFunction.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FejerKernel"/>FejerKernel</term>
         <listitem>
          <synopsis>FejerKernel (n,t)</synopsis>
          <para>Ο πυρήνας Fejer τάξης <varname>n</varname> που υπολογίστηκε στο <varname>t</varname></para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/FejerKernel.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GammaFunction"/>GammaFunction</term>
         <listitem>
          <synopsis>GammaFunction (x)</synopsis>
          <para>Παραλλαγές: <function>Gamma</function></para>
          <para>Η συνάρτηση γάμα. Προς το παρόν υλοποιείται μόνο για πραγματικούς.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/GammaFunction.html">Planetmath</ulink> ή <ulink url="http://en.wikipedia.org/wiki/Gamma_function">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-KroneckerDelta"/>KroneckerDelta</term>
         <listitem>
          <synopsis>KroneckerDelta (v)</synopsis>
          <para>Επιστρέφει 1 αν και μόνο αν όλα τα στοιχεία είναι ίσα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LambertW"/>LambertW</term>
         <listitem>
          <synopsis>LambertW (x)</synopsis>
	  <para>Ο βασικός κλάδος της συνάρτησης W Λαμπέρ υπολογίζεται μόνο για πραγματικές τιμές μεγαλύτερες ή ίσες από <userinput>-1/e</userinput>. Δηλαδή, <function>LambertW</function> είναι το αντίστροφο της παράστασης <userinput>x*e^x</userinput>. Ακόμα για πραγματικούς <varname>x</varname> αυτή η παράσταση δεν είναι ένα προς ένα και συνεπώς έχει δύο κλάδους στο <userinput>[-1/e,0)</userinput>. Δείτε <link linkend="gel-function-LambertWm1"><function>LambertWm1</function></link> για τον άλλο πραγματικό κλάδο.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Lambert_W_function">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LambertWm1"/>LambertWm1</term>
         <listitem>
          <synopsis>LambertWm1 (x)</synopsis>
	  <para>Ο κλάδος μείον-ένα της συνάρτησης W Λαμπέρ υπολογίζεται μόνο για πραγματικές τιμές μεγαλύτερες ή ίσες με <userinput>-1/e</userinput> και μικρότερες από 0. Δηλαδή, το <function>LambertWm1</function> είναι ο δεύτερος κλάδος του αντίστροφου <userinput>x*e^x</userinput>. Δείτε <link linkend="gel-function-LambertW"><function>LambertW</function></link> για τον βασικό κλάδο.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Lambert_W_function">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MinimizeFunction"/>MinimizeFunction</term>
         <listitem>
          <synopsis>MinimizeFunction (func,x,incr)</synopsis>
          <para>Βρίσκει την πρώτη τιμή όπου f(x)=0.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusDiskMapping"/>MoebiusDiskMapping</term>
         <listitem>
          <synopsis>MoebiusDiskMapping (a,z)</synopsis>
          <para>Μετασχηματισμός Μέμπιους του δίσκου στον εαυτόν του, απεικονίζοντας το a στο 0.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MobiusTransformation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusMapping"/>MoebiusMapping</term>
         <listitem>
          <synopsis>MoebiusMapping (z,z2,z3,z4)</synopsis>
          <para>Μετασχηματισμός Μέμπιους χρησιμοποιώντας τον διπλό λόγο παίρνοντας z2,z3,z4 στο 1,0, και άπειρο αντίστοιχα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MobiusTransformation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusMappingInftyToInfty"/>MoebiusMappingInftyToInfty</term>
         <listitem>
          <synopsis>MoebiusMappingInftyToInfty (z,z2,z3)</synopsis>
          <para>Απεικόνιση Μέμπιους χρησιμοποιώντας τον διπλό λόγο παίρνοντας άπειρο στο άπειρο και z2,z3 στο 1 και 0 αντίστοιχα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MobiusTransformation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusMappingInftyToOne"/>MoebiusMappingInftyToOne</term>
         <listitem>
          <synopsis>MoebiusMappingInftyToOne (z,z3,z4)</synopsis>
          <para>Μετασχηματισμός Μέμπιους χρησιμοποιώντας τον διπλό λόγο παίρνοντας άπειρο στο 1 και z3,z4 στο 0 και άπειρο αντίστοιχα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MobiusTransformation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MoebiusMappingInftyToZero"/>MoebiusMappingInftyToZero</term>
         <listitem>
          <synopsis>MoebiusMappingInftyToZero (z,z2,z4)</synopsis>
          <para>Μετασχηματισμός Μέμπιους χρησιμοποιώντας τον διπλό λόγο παίρνοντας άπειρο στο 0 και z2,z4 στο 1 και άπειρο αντίστοιχα.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/MobiusTransformation.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PoissonKernel"/>PoissonKernel</term>
         <listitem>
          <synopsis>PoissonKernel (r,sigma)</synopsis>
          <para>Πυρήνας Πουασόν στο D(0,1) (μη κανονικοποιημένο στο 1, δηλαδή το ολοκλήρωμα αυτού είναι 2pi).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PoissonKernelRadius"/>PoissonKernelRadius</term>
         <listitem>
          <synopsis>PoissonKernelRadius (r,sigma)</synopsis>
          <para>Πυρήνας Πουασόν στο D(0,R) (μη κανονικοποιημένο στο 1).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RiemannZeta"/>RiemannZeta</term>
         <listitem>
          <synopsis>RiemannZeta (x)</synopsis>
          <para>Παραλλαγές: <function>zeta</function></para>
          <para>Η συνάρτηση ζήτα Ρίμαν. Προς το παρόν υλοποιείται μόνο για πραγματικούς.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/RiemannZetaFunction.html">Planetmath</ulink> ή <ulink url="http://en.wikipedia.org/wiki/Riemann_zeta_function">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-UnitStep"/>UnitStep</term>
         <listitem>
          <synopsis>UnitStep (x)</synopsis>
          <para>Το μοναδιαίο βήμα συνάρτησης είναι 0 για x&lt;0, 1 αλλιώς. Αυτό είναι το ολοκλήρωμα της συνάρτησης δέλτα Ντιράκ. Λέγεται επίσης συνάρτηση Χέβισαϊντ.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Unit_step">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-cis"/>cis</term>
         <listitem>
          <synopsis>cis (x)</synopsis>
          <para>Η συνάρτηση <function>cis</function>, δηλαδή είναι η ίδια με τη <userinput>cos(x)+1i*sin(x)</userinput></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-deg2rad"/>deg2rad</term>
         <listitem>
          <synopsis>deg2rad (x)</synopsis>
          <para>Μετατρέπει βαθμούς σε ακτίνια.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-rad2deg"/>rad2deg</term>
         <listitem>
          <synopsis>rad2deg (x)</synopsis>
          <para>Μετατρέπει ακτίνια σε μοίρες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-sinc"/>sinc</term>
         <listitem>
          <synopsis>sinc (x)</synopsis>
	  <para>Υπολογίζει τη μη κανονικοποιημένη συνάρτηση sinc, δηλαδή την <userinput>sin(x)/x</userinput>. Αν θέλετε την κανονικοποιημένη συνάρτηση καλέστε <userinput>sinc(pi*x)</userinput>.</para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Sinc">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-equation-solving">
      <title>Επίλυση εξίσωσης</title>
      <variablelist>

        <varlistentry>
         <term><anchor id="gel-function-CubicFormula"/>CubicFormula</term>
         <listitem>
          <synopsis>CubicFormula (p)</synopsis>
          <para>Υπολογίζει τις ρίζες ενός κυβικού (βαθμού 3) πολυωνύμου χρησιμοποιώντας τον κυβικό τύπο. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή <userinput>4*x^3 + 2*x + 1</userinput> αντιστοιχεί στο διάνυσμα <userinput>[1,2,0,4]</userinput>. Επιστρέφει ένα διάνυσμα στήλης των τριών λύσεων. Η πρώτη λύση είναι πάντα η πραγματική καθώς μια κυβική έχει πάντα μια πραγματική λύση.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/CubicFormula.html">Planetmath</ulink>, <ulink url="http://mathworld.wolfram.com/CubicFormula.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Cubic_equation">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-EulersMethod"/>EulersMethod</term>
         <listitem>
          <synopsis>EulersMethod (f,x0,y0,x1,n)</synopsis>
          <para>
	    Use classical Euler's method to numerically solve y'=f(x,y) for
	    initial <varname>x0</varname>, <varname>y0</varname> going to
	    <varname>x1</varname> with <varname>n</varname> increments,
	    returns <varname>y</varname> at <varname>x1</varname>.
	    Unless you explicitly want to use Euler's method, you should really
	    think about using
	    <link linkend="gel-function-RungeKutta">RungeKutta</link>
	    for solving ODE.
	  </para>
	  <para>Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το <varname>y</varname> να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το <varname>y0</varname> μπορεί να είναι ένα διάνυσμα, οπότε το <varname>f</varname> πρέπει να πάρει έναν αριθμό <varname>x</varname> και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/EulerForwardMethod.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Eulers_method">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-EulersMethodFull"/>EulersMethodFull</term>
         <listitem>
          <synopsis>EulersMethodFull (f,x0,y0,x1,n)</synopsis>
          <para>
	    Use classical Euler's method to numerically solve y'=f(x,y) for
	    initial <varname>x0</varname>, <varname>y0</varname> going to
	    <varname>x1</varname> with <varname>n</varname> increments,
	    returns a 2 by <userinput>n+1</userinput> matrix with the
	    <varname>x</varname> and <varname>y</varname> values.
	    Unless you explicitly want to use Euler's method, you should really
	    think about using
	    <link linkend="gel-function-RungeKuttaFull">RungeKuttaFull</link>
	    for solving ODE.
	    Suitable
	    for plugging into 
	    <link linkend="gel-function-LinePlotDrawLine">LinePlotDrawLine</link> or
	    <link linkend="gel-function-LinePlotDrawPoints">LinePlotDrawPoints</link>.
	  </para>
	  <para>
	    Example:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>
<prompt>genius&gt;</prompt> <userinput>line = EulersMethodFull(`(x,y)=y,0,1.0,3.0,50);</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");</userinput>
</screen>
	  </para>
	  <para>Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το <varname>y</varname> να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το <varname>y0</varname> μπορεί να είναι ένα διάνυσμα, οπότε το <varname>f</varname> πρέπει να πάρει έναν αριθμό <varname>x</varname> και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.</para>
	  <para>
		  The output for a system is still a n by 2 matrix with the second
		  entry being a vector.  If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with
		  <link linkend="gel-function-ExpandMatrix">ExpandMatrix</link>,
		  and pick out the right columns.  Example:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>
<prompt>genius&gt;</prompt> <userinput>lines = EulersMethodFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,500);</userinput>
<prompt>genius&gt;</prompt> <userinput>lines = ExpandMatrix(lines);</userinput>
<prompt>genius&gt;</prompt> <userinput>firstline = lines@(,[1,2]);</userinput>
<prompt>genius&gt;</prompt> <userinput>secondline = lines@(,[1,3]);</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotWindow = [0,10,-2,2];</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(firstline,"color","blue","legend","First");</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");</userinput>
</screen>
	  </para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/EulerForwardMethod.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Eulers_method">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindRootBisection"/>FindRootBisection</term>
         <listitem>
          <synopsis>FindRootBisection (f,a,b,TOL,N)</synopsis>
          <para>Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο διχοτόμησης. Τα <varname>a</varname> και <varname>b</varname> είναι το αρχικό διάστημα πρόβλεψης, τα <userinput>f(a)</userinput> και <userinput>f(b)</userinput> πρέπει να έχουν αντίθετα πρόσημα. Το <varname>TOL</varname> είναι η επιθυμητή ανοχή και <varname>N</varname> είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα <userinput>[success,value,iteration]</userinput>, όπου <varname>success</varname> είναι μια τιμή Μπουλ που δείχνει επιτυχία, <varname>value</varname> είναι η τελευταία υπολογισμένη τιμή και <varname>iteration</varname> είναι ο αριθμός των επαναλήψεων που έγιναν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindRootFalsePosition"/>FindRootFalsePosition</term>
         <listitem>
          <synopsis>FindRootFalsePosition (f,a,b,TOL,N)</synopsis>
          <para>Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο ψευδούς θέσης. Τα <varname>a</varname> και <varname>b</varname> είναι το αρχικό διάστημα πρόβλεψης, τα <userinput>f(a)</userinput> και <userinput>f(b)</userinput> πρέπει να έχουν αντίθετα πρόσημα. Το <varname>TOL</varname> είναι η επιθυμητή ανοχή και <varname>N</varname> είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα <userinput>[success,value,iteration]</userinput>, όπου <varname>success</varname> είναι μια τιμή Μπουλ που δείχνει επιτυχία, <varname>value</varname> είναι η τελευταία υπολογισμένη τιμή και <varname>iteration</varname> είναι ο αριθμός των επαναλήψεων που έγιναν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindRootMullersMethod"/>FindRootMullersMethod</term>
         <listitem>
          <synopsis>FindRootMullersMethod (f,x0,x1,x2,TOL,N)</synopsis>
          <para>Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο Μίλερ. Το <varname>TOL</varname> είναι η επιθυμητή ανοχή και <varname>N</varname> είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα <userinput>[success,value,iteration]</userinput>, όπου <varname>success</varname> είναι μια τιμή Μπουλ που δείχνει επιτυχία, <varname>value</varname> είναι η τελευταία υπολογισμένη τιμή και <varname>iteration</varname> είναι ο αριθμός των επαναλήψεων που έγιναν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-FindRootSecant"/>FindRootSecant</term>
         <listitem>
          <synopsis>FindRootSecant (f,a,b,TOL,N)</synopsis>
          <para>Βρίσκει τις ρίζες μιας συνάρτησης χρησιμοποιώντας τη μέθοδο τέμνουσας. Τα <varname>a</varname> και <varname>b</varname> είναι το αρχικό διάστημα πρόβλεψης, τα <userinput>f(a)</userinput> και <userinput>f(b)</userinput> πρέπει να έχουν αντίθετα πρόσημα. Το <varname>TOL</varname> είναι η επιθυμητή ανοχή και <varname>N</varname> είναι το όριο στον αριθμό των επαναλήψεων εκτέλεσης, 0 σημαίνει χωρίς όριο. Η συνάρτηση επιστρέφει ένα διάνυσμα <userinput>[success,value,iteration]</userinput>, όπου <varname>success</varname> είναι μια τιμή Μπουλ που δείχνει επιτυχία, <varname>value</varname> είναι η τελευταία υπολογισμένη τιμή και <varname>iteration</varname> είναι ο αριθμός των επαναλήψεων που έγιναν.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-HalleysMethod"/>HalleysMethod</term>
         <listitem>
          <synopsis>HalleysMethod (f,df,ddf,guess,epsilon,maxn)</synopsis>
	  <para>Βρίσκει τα μηδενικά χρησιμοποιώντας τη μέθοδο Χάλεϊ. Το <varname>f</varname> είναι η συνάρτηση, <varname>df</varname> είναι η παράγωγος των <varname>f</varname> και <varname>ddf</varname> είναι η δεύτερη παράγωγος του <varname>f</varname>. Το <varname>guess</varname> είναι η αρχική πρόβλεψη. Η συνάρτηση επιστρέφει μετά δύο διαδοχικές τιμές που είναι μέσα στο <varname>epsilon</varname> μεταξύ τους, ή μετά από <varname>maxn</varname> προσπάθειες, οπότε η συνάρτηση επιστρέφει <constant>null</constant> που δείχνει αποτυχία.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-NewtonsMethod"><function>NewtonsMethod</function></link> και <link linkend="gel-function-SymbolicDerivative"><function>SymbolicDerivative</function></link>.</para>
	  <para>Παράδειγμα εύρεσης της τετραγωνικής ρίζας του 10: <screen><prompt>genius&gt;</prompt> <userinput>HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)</userinput>
</screen></para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Halley%27s_method">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NewtonsMethod"/>NewtonsMethod</term>
         <listitem>
          <synopsis>NewtonsMethod (f,df,guess,epsilon,maxn)</synopsis>
	  <para>Βρίσκει μηδενικά χρησιμοποιώντας τη μέθοδο Νεύτωνα. Το <varname>f</varname> είναι η συνάρτηση και <varname>df</varname> είναι η παράγωγος του <varname>f</varname>. Η <varname>guess</varname> είναι η αρχική πρόβλεψη. Η συνάρτηση επιστρέφει μετά από δύο διαδοχικές τιμές που είναι μέσα στο <varname>epsilon</varname> μεταξύ τους, ή μετά από <varname>maxn</varname> προσπάθειες, οπότε η συνάρτηση επιστρέφει <constant>null</constant> που δείχνει αποτυχία.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-NewtonsMethodPoly"><function>NewtonsMethodPoly</function></link> and <link linkend="gel-function-SymbolicDerivative"><function>SymbolicDerivative</function></link>.</para>
	  <para>Παράδειγμα εύρεσης της τετραγωνικής ρίζας του 10: <screen><prompt>genius&gt;</prompt> <userinput>NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)</userinput>
</screen></para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Newtons_method">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PolynomialRoots"/>PolynomialRoots</term>
         <listitem>
          <synopsis>PolynomialRoots (p)</synopsis>
          <para>Υπολογίζει ρίζες ενός πολυωνύμου (βαθμών από 1 μέχρι 4) χρησιμοποιώντας τους τύπους για τέτοια πολυώνυμα. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το <userinput>4*x^3 + 2*x + 1</userinput> αντιστοιχεί στο διάνυσμα <userinput>[1,2,0,4]</userinput>. Επιστρέφει ένα διάνυσμα στήλης των λύσεων.</para>
	  <para>Η συνάρτηση καλεί <link linkend="gel-function-QuadraticFormula">QuadraticFormula</link>, <link linkend="gel-function-CubicFormula">CubicFormula</link> και <link linkend="gel-function-QuarticFormula">QuarticFormula</link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-QuadraticFormula"/>QuadraticFormula</term>
         <listitem>
          <synopsis>QuadraticFormula (p)</synopsis>
          <para>Υπολογίζει ρίζες ενός δευτεροβάθμιου πολυωνύμου (βαθμού 2) χρησιμοποιώντας τον τύπο δευτεροβάθμιας. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το <userinput>3*x^2 + 2*x + 1</userinput> αντιστοιχεί στο διάνυσμα <userinput>[1,2,3]</userinput>. Επιστρέφει ένα διάνυσμα στήλης των δύο λύσεων.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/QuadraticFormula.html">Planetmath</ulink> ή <ulink url="http://mathworld.wolfram.com/QuadraticFormula.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-QuarticFormula"/>QuarticFormula</term>
         <listitem>
          <synopsis>QuarticFormula (p)</synopsis>
          <para>Υπολογίζει ρίζες ενός τεταρτοβάθμιου πολυωνύμου (βαθμού 4) χρησιμοποιώντας τον τύπο τεταρτοβάθμιας. Το πολυώνυμο πρέπει να δίνεται ως ένα διάνυσμα συντελεστών. Δηλαδή το <userinput>5*x^4 + 2*x + 1</userinput> αντιστοιχεί στο διάνυσμα <userinput>[1,2,0,0,5]</userinput>. Επιστρέφει ένα διάνυσμα στήλης τεσσάρων λύσεων.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/QuarticFormula.html">Planetmath</ulink>, <ulink url="http://mathworld.wolfram.com/QuarticEquation.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Quartic_equation">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RungeKutta"/>RungeKutta</term>
         <listitem>
          <synopsis>RungeKutta (f,x0,y0,x1,n)</synopsis>
          <para>Χρησιμοποιεί την κλασική μη αναπροσαρμοστική μέθοδο τέταρτης τάξης Runge-Kutta για αριθμητική επίλυση της y'=f(x,y) με αρχικά <varname>x0</varname>, <varname>y0</varname> πηγαίνει στο <varname>x1</varname> με βήματα <varname>n</varname>, επιστρέφει <varname>y</varname> στο <varname>x1</varname>.</para>
	  <para>Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το <varname>y</varname> να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το <varname>y0</varname> μπορεί να είναι ένα διάνυσμα, οπότε το <varname>f</varname> πρέπει να πάρει έναν αριθμό <varname>x</varname> και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/Runge-KuttaMethod.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Runge-Kutta_methods">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RungeKuttaFull"/>RungeKuttaFull</term>
         <listitem>
          <synopsis>RungeKuttaFull (f,x0,y0,x1,n)</synopsis>
          <para>
	    Use classical non-adaptive fourth order Runge-Kutta method to
	    numerically solve
	    y'=f(x,y) for initial <varname>x0</varname>, <varname>y0</varname>
	    going to <varname>x1</varname> with <varname>n</varname>
	    increments,
	    returns a 2 by <userinput>n+1</userinput> matrix with the
	    <varname>x</varname> and <varname>y</varname> values.  Suitable
	    for plugging into 
	    <link linkend="gel-function-LinePlotDrawLine">LinePlotDrawLine</link> or
	    <link linkend="gel-function-LinePlotDrawPoints">LinePlotDrawPoints</link>.
	  </para>
	  <para>
	    Example:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>
<prompt>genius&gt;</prompt> <userinput>line = RungeKuttaFull(`(x,y)=y,0,1.0,3.0,50);</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(line,"window","fit","color","blue","legend","Exponential growth");</userinput>
</screen>
	  </para>
	  <para>Τα συστήματα μπορούν να επιλυθούν έχοντας απλά το <varname>y</varname> να είναι ένα διάνυσμα (στήλης) παντού. Δηλαδή, το <varname>y0</varname> μπορεί να είναι ένα διάνυσμα, οπότε το <varname>f</varname> πρέπει να πάρει έναν αριθμό <varname>x</varname> και ένα διάνυσμα του ίδιου μεγέθους για το δεύτερο όρισμα και πρέπει να επιστρέψει ένα διάνυσμα του ίδιου μεγέθους.</para>
	  <para>
		  The output for a system is still a n by 2 matrix with the second
		  entry being a vector.  If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with
		  <link linkend="gel-function-ExpandMatrix">ExpandMatrix</link>,
		  and pick out the right columns.  Example:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>
<prompt>genius&gt;</prompt> <userinput>lines = RungeKuttaFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,100);</userinput>
<prompt>genius&gt;</prompt> <userinput>lines = ExpandMatrix(lines);</userinput>
<prompt>genius&gt;</prompt> <userinput>firstline = lines@(,[1,2]);</userinput>
<prompt>genius&gt;</prompt> <userinput>secondline = lines@(,[1,3]);</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotWindow = [0,10,-2,2];</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(firstline,"color","blue","legend","First");</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(secondline,"color","red","thickness",3,"legend","Second");</userinput>
</screen>
	  </para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/Runge-KuttaMethod.html">Mathworld</ulink>, ή <ulink url="http://en.wikipedia.org/wiki/Runge-Kutta_methods">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
	  <para>Version 1.0.10 onwards.</para>
         </listitem>
        </varlistentry>


      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-statistics">
      <title>Στατιστική</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-Average"/>Average</term>
         <listitem>
          <synopsis>Average (m)</synopsis>
          <para>Παραλλαγές: <function>average</function><function>Mean</function><function>mean</function></para>
          <para>Υπολογίζει τον μέσο όρο ενός ολόκληρου πίνακα.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/ArithmeticMean.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GaussDistribution"/>GaussDistribution</term>
         <listitem>
          <synopsis>GaussDistribution (x,sigma)</synopsis>
	  <para>Ολοκλήρωμα της GaussFunction από 0 μέχρι <varname>x</varname> (περιοχή κάτω από την κανονική καμπύλη).</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/NormalDistribution.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-GaussFunction"/>GaussFunction</term>
         <listitem>
          <synopsis>GaussFunction (x,sigma)</synopsis>
          <para>Η συνάρτηση κανονικοποιημένης κατανομής Γκάους (η κανονική καμπύλη).</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/NormalDistribution.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>

         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Median"/>Median</term>
         <listitem>
          <synopsis>Median (m)</synopsis>
          <para>Παραλλαγές: <function>median</function></para>
          <para>Υπολογίζει τον μέσο ενός ολόκληρου πίνακα.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/StatisticalMedian.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PopulationStandardDeviation"/>PopulationStandardDeviation</term>
         <listitem>
          <synopsis>PopulationStandardDeviation (m)</synopsis>
          <para>Παραλλαγές: <function>stdevp</function></para>
          <para>Υπολογίζει την τυπική απόκλιση πληθυσμού ενός ολόκληρου πίνακα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowAverage"/>RowAverage</term>
         <listitem>
          <synopsis>RowAverage (m)</synopsis>
          <para>Παραλλαγές: <function>RowMean</function></para>
          <para>Υπολογίζει τον μέσο όρο κάθε γραμμής σε έναν πίνακα.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/ArithmeticMean.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowMedian"/>RowMedian</term>
         <listitem>
          <synopsis>RowMedian (m)</synopsis>
          <para>Υπολογίζει τον διάμεσο κάθε γραμμής σε έναν πίνακα και επιστρέφει ένα διάνυσμα στήλης με τους διάμεσους.</para>
          <para>Δείτε <ulink url="http://mathworld.wolfram.com/StatisticalMedian.html">Mathworld</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowPopulationStandardDeviation"/>RowPopulationStandardDeviation</term>
         <listitem>
          <synopsis>RowPopulationStandardDeviation (m)</synopsis>
          <para>Παραλλαγές: <function>rowstdevp</function></para>
          <para>Υπολογίζει τις τυπικές αποκλίσεις πληθυσμού γραμμών ενός πίνακα και επιστρέφει ένα κάθετο διάνυσμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-RowStandardDeviation"/>RowStandardDeviation</term>
         <listitem>
          <synopsis>RowStandardDeviation (m)</synopsis>
          <para>Παραλλαγές: <function>rowstdev</function></para>
          <para>Υπολογίζει τις τυπικές αποκλίσεις γραμμών ενός πίνακα και επιστρέφει ένα κάθετο διάνυσμα.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
	 <term><anchor id="gel-function-StandardDeviation"/>StandardDeviation</term>
         <listitem>
          <synopsis>StandardDeviation (m)</synopsis>
          <para>Παραλλαγές: <function>stdev</function></para>
          <para>Υπολογίζει την τυπική απόκλιση ενός ολόκληρου πίνακα.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-polynomials">
      <title>Πολυώνυμα</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-AddPoly"/>AddPoly</term>
         <listitem>
          <synopsis>AddPoly (p1,p2)</synopsis>
          <para>Προσθήκη δύο πολυωνύμων (διανύσματα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-DividePoly"/>DividePoly</term>
         <listitem>
          <synopsis>DividePoly (p,q,&amp;r)</synopsis>
          <para>Διαιρεί δύο πολυώνυμα (ως διανύσματα) χρησιμοποιώντας τη μακριά διαίρεση. Επιστρέφει το πηλίκο των δύο πολυωνύμων. Το προαιρετικό όρισμα <varname>r</varname> χρησιμοποιείται για να επιστρέψει το υπόλοιπο. Το υπόλοιπο θα έχει μικρότερο βαθμό από το <varname>q</varname>.</para>
          <para>Δείτε <ulink url="http://planetmath.org/encyclopedia/PolynomialLongDivision.html">Planetmath</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsPoly"/>IsPoly</term>
         <listitem>
          <synopsis>IsPoly (p)</synopsis>
          <para>Ελέγχει αν ένα διάνυσμα μπορεί να χρησιμοποιηθεί ως πολυώνυμο.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MultiplyPoly"/>MultiplyPoly</term>
         <listitem>
          <synopsis>MultiplyPoly (p1,p2)</synopsis>
          <para>Πολλαπλασιάζει δύο πολυώνυμα (ως διανύσματα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-NewtonsMethodPoly"/>NewtonsMethodPoly</term>
         <listitem>
          <synopsis>NewtonsMethodPoly (poly,guess,epsilon,maxn)</synopsis>
	  <para>Βρίσκει μια ρίζα ενός πολυωνύμου χρησιμοποιώντας τη μέθοδο Νεύτωνα. Το <varname>poly</varname> είναι ένα πολυώνυμο ως διάνυσμα και <varname>guess</varname> είναι η αρχική πρόβλεψη. Η συνάρτηση επιστρέφει μετά από δύο διαδοχικές τιμές που είναι μέσα στο <varname>epsilon</varname> μεταξύ τους, ή μετά από <varname>maxn</varname> προσπάθειες, οπότε η συνάρτηση επιστρέφει <constant>null</constant> που δείχνει αποτυχία.</para>
	  <para>Δείτε επίσης <link linkend="gel-function-NewtonsMethod"><function>NewtonsMethod</function></link>.</para>
	  <para>Παράδειγμα εύρεσης της τετραγωνικής ρίζας του 10: <screen><prompt>genius&gt;</prompt> <userinput>NewtonsMethodPoly([-10,0,1],3,10^-10,100)</userinput>
</screen></para>
          <para>Δείτε <ulink url="http://en.wikipedia.org/wiki/Newtons_method">Wikipedia</ulink> για περισσότερες πληροφορίες.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Poly2ndDerivative"/>Poly2ndDerivative</term>
         <listitem>
          <synopsis>Poly2ndDerivative (p)</synopsis>
          <para>Δίνει τη δεύτερη πολυωνυμική παράγωγο (ως διάνυσμα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PolyDerivative"/>PolyDerivative</term>
         <listitem>
          <synopsis>PolyDerivative (p)</synopsis>
          <para>Δίνει την πολυωνυμική παράγωγο (ως διάνυσμα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PolyToFunction"/>PolyToFunction</term>
         <listitem>
          <synopsis>PolyToFunction (p)</synopsis>
          <para>Δημιουργεί συνάρτηση από ένα πολυώνυμο (ως διάνυσμα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PolyToString"/>PolyToString</term>
         <listitem>
          <synopsis>PolyToString (p,var...)</synopsis>
          <para>Δημιουργεί συμβολοσειρά από ένα πολυώνυμο (ως διάνυσμα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SubtractPoly"/>SubtractPoly</term>
         <listitem>
          <synopsis>SubtractPoly (p1,p2)</synopsis>
          <para>Αφαιρεί δύο πολυώνυμα (ως διανύσματα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-TrimPoly"/>TrimPoly</term>
         <listitem>
          <synopsis>TrimPoly (p)</synopsis>
          <para>Περικόπτει μηδενικά από ένα πολυώνυμο (ως διάνυσμα).</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-set-theory">
      <title>Θεωρία συνόλων</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-Intersection"/>Intersection</term>
         <listitem>
          <synopsis>Intersection (X,Y)</synopsis>
          <para>Επιστρέφει τη θεωρητική τομή συνόλων των Χ και Υ (Χ και Υ είναι διανύσματα που προσποιούνται ότι είναι σύνολα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsIn"/>IsIn</term>
         <listitem>
          <synopsis>IsIn (x,X)</synopsis>
	  <para>Επιστρέφει <constant>true</constant> αν το στοιχείο x είναι στο σύνολο Χ (όπου Χ είναι ένα διάνυσμα που προσποιείται ότι είναι σύνολο).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-IsSubset"/>IsSubset</term>
         <listitem>
          <synopsis>IsSubset (X, Y)</synopsis>
	  <para>Επιστρέφει <constant>true</constant> αν το Χ είναι ένα υποσύνολο του Υ (Χ και Υ είναι διανύσματα που προσποιούνται ότι είναι σύνολα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MakeSet"/>MakeSet</term>
         <listitem>
          <synopsis>MakeSet (X)</synopsis>
          <para>Επιστρέφει ένα διάνυσμα όπου κάθε στοιχείο του Χ εμφανίζεται μόνο μια φορά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SetMinus"/>SetMinus</term>
         <listitem>
          <synopsis>SetMinus (X,Y)</synopsis>
          <para>Επιστρέφει τη θεωρητική διαφορά συνόλων των Χ-Υ (Χ και Υ είναι διανύσματα που προσποιούνται ότι είναι σύνολα).</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-Union"/>Union</term>
         <listitem>
          <synopsis>Union (X,Y)</synopsis>
          <para>Επιστρέφει ένα μια θεωρητική ένωση συνόλου των Χ και Υ (Χ και Υ είναι διανύσματα που προσποιούνται ότι είναι σύνολα).</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-commutative-algebra">
      <title>Αντιμεταθετική άλγεβρα</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-MacaulayBound"/>MacaulayBound</term>
         <listitem>
          <synopsis>MacaulayBound (c,d)</synopsis>
          <para>Για μια συνάρτηση Χίλμπερτ που είναι c για βαθμό d, με δεδομένο το πέρας Μακόλεϊ για τη συνάρτηση Χίλμπερτ βαθμού d+1 (Ο τελεστής c^&lt;d&gt; από την απόδειξη Γκριν).</para>
	  <para>Version 1.0.15 onwards.</para>
         </listitem>
        </varlistentry>
	
        <varlistentry>
         <term><anchor id="gel-function-MacaulayLowerOperator"/>MacaulayLowerOperator</term>
         <listitem>
          <synopsis>MacaulayLowerOperator (c,d)</synopsis>
          <para>Ο τελεστής c_&lt;d&gt; από την απόδειξη Γκριν του θεωρήματος Μακόλεϊ.</para>
	  <para>Version 1.0.15 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-MacaulayRep"/>MacaulayRep</term>
         <listitem>
          <synopsis>MacaulayRep (c,d)</synopsis>
          <para>Επιστρέφει την dστή αναπαράσταση Μακόλεϊ ενός θετικού ακεραίου c.</para>
	  <para>Version 1.0.15 onwards.</para>
         </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-miscellaneous">
      <title>Διάφορα</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-ASCIIToString"/>ASCIIToString</term>
         <listitem>
          <synopsis>ASCIIToString (vec)</synopsis>
          <para>Μετατρέπει ένα διάνυσμα τιμών ASCII σε συμβολοσειρά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-AlphabetToString"/>AlphabetToString</term>
         <listitem>
          <synopsis>AlphabetToString (vec,alphabet)</synopsis>
          <para>Μετατρέπει ένα διάνυσμα τιμών αλφαβήτου με βάση το 0 (θέσεις στη συμβολοσειρά αλφαβήτου) σε συμβολοσειρά.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StringToASCII"/>StringToASCII</term>
         <listitem>
          <synopsis>StringToASCII (str)</synopsis>
          <para>Μετατρέπει μια συμβολοσειρά σε διάνυσμα τιμών ASCII.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-StringToAlphabet"/>StringToAlphabet</term>
         <listitem>
          <synopsis>StringToAlphabet (str,alphabet)</synopsis>
          <para>Μετατρέπει μια συμβολοσειρά σε διάνυσμα τιμών αλφαβήτου με βάση το 0 (θέσεις στη συμβολοσειρά αλφαβήτου), -1 για άγνωστα γράμματα.</para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-symbolic">
      <title>Συμβολικές πράξεις</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-SymbolicDerivative"/>SymbolicDerivative</term>
         <listitem>
          <synopsis>SymbolicDerivative (f)</synopsis>
          <para>Προσπαθεί για συμβολική παραγώγιση της συνάρτησης f, όπου f είναι μια συνάρτηση μιας μεταβλητής.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>SymbolicDerivative(sin)</userinput>
= (`(x)=cos(x))
<prompt>genius&gt;</prompt> <userinput>SymbolicDerivative(`(x)=7*x^2)</userinput>
= (`(x)=(7*(2*x)))
</screen></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SymbolicDerivativeTry"/>SymbolicDerivativeTry</term>
         <listitem>
          <synopsis>SymbolicDerivativeTry (f)</synopsis>
	  <para>Προσπαθεί να παραγωγίσει συμβολικά τη συνάρτηση f, όπου f είναι μια συνάρτηση μιας μεταβλητής, επιστρέφει <constant>null</constant> αν είναι ανεπιτυχής, αλλά είναι σιωπηλό. (Δείτε <link linkend="gel-function-SymbolicDerivative"><function>SymbolicDerivative</function></link>)</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SymbolicNthDerivative"/>SymbolicNthDerivative</term>
         <listitem>
          <synopsis>SymbolicNthDerivative (f,n)</synopsis>
          <para>Προσπαθεί να παραγωγίσει συμβολικά μια συνάρτηση n φορές. (Δείτε <link linkend="gel-function-SymbolicDerivative"><function>SymbolicDerivative</function></link>)</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SymbolicNthDerivativeTry"/>SymbolicNthDerivativeTry</term>
         <listitem>
          <synopsis>SymbolicNthDerivativeTry (f,n)</synopsis>
	  <para>Προσπαθεί να παραγωγίσει συμβολικά μια συνάρτηση n φορές σιωπηρά και επιστρέφει <constant>null</constant> στην αποτυχία (Δείτε <link linkend="gel-function-SymbolicNthDerivative"><function>SymbolicNthDerivative</function></link>)</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SymbolicTaylorApproximationFunction"/>SymbolicTaylorApproximationFunction</term>
         <listitem>
          <synopsis>SymbolicTaylorApproximationFunction (f,x0,n)</synopsis>
	  <para>Προσπαθεί να κατασκευάσει τη συνάρτηση προσέγγισης Τέιλορ γύρω από το x0 στον nστο βαθμό. (Δείτε <link linkend="gel-function-SymbolicDerivative"><function>SymbolicDerivative</function></link>)</para>
         </listitem>
        </varlistentry>
      </variablelist>
    </sect1>

    <sect1 id="genius-gel-function-list-plotting">
      <title>Γραφική παράσταση</title>
      <variablelist>
        <varlistentry>
         <term><anchor id="gel-function-ExportPlot"/>ExportPlot</term>
         <listitem>
          <synopsis>ExportPlot (file,type)</synopsis>
          <synopsis>ExportPlot (file)</synopsis>
          <para>Εξάγει τα περιεχόμενα του παραθύρου γραφικής παράστασης σε αρχείο. Ο τύπος είναι μια συμβολοσειρά που καθορίζει τον τύπο αρχείου για χρήση, "png", "eps", ή "ps". Αν ο τύπος δεν ορίζεται, τότε παίρνεται η επέκταση, οπότε η επέκταση πρέπει να είναι ".png", ".eps", ή ".ps".</para>
	  <para>Σημειώστε ότι τα αρχεία αντικαθίστανται χωρίς ερώτηση.</para>
	  <para>Σε πετυχημένη εξαγωγή, επιστρέφεται αληθές. Αλλιώς, εκτυπώνεται σφάλμα και εγείρεται εξαίρεση.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>ExportPlot("file.png")</userinput>
<prompt>genius&gt;</prompt> <userinput>ExportPlot("/directory/file","eps")</userinput>
</screen></para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlot"/>LinePlot</term>
         <listitem>
          <synopsis>LinePlot (func1,func2,func3,...)</synopsis>
          <synopsis>LinePlot (func1,func2,func3,x1,x2)</synopsis>
          <synopsis>LinePlot (func1,func2,func3,x1,x2,y1,y2)</synopsis>
          <synopsis>LinePlot (func1,func2,func3,[x1,x2])</synopsis>
          <synopsis>LinePlot (func1,func2,func3,[x1,x2,y1,y2])</synopsis>
          <para>Σχεδιάστε μια συνάρτηση (ή αρκετές συναρτήσεις) με μια γραμμή. Πρώτα (μέχρι 10) ορίσματα είναι συναρτήσεις, έπειτα μπορείτε προαιρετικά να ορίσετε τα όρια του παραθύρου σχεδίασης ως <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. Αν τα όρια δεν ορίζονται, τότε εφαρμόζονται τα τρέχοντα ορισμένα όρια (Δείτε <link linkend="gel-function-LinePlotWindow"><function>LinePlotWindow</function></link>) Αν τα όρια y δεν ορίζονται, τότε οι συναρτήσεις υπολογίζονται και έπειτα χρησιμοποιούνται τα μέγιστα και ελάχιστα.</para>
          <para>Η παράμετρος <link linkend="gel-function-LinePlotDrawLegends"><function>LinePlotDrawLegends</function></link> ελέγχει τη σχεδίαση του υπομνήματος.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>LinePlot(sin,cos)</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlot(`(x)=x^2,-1,1,0,1)</userinput>
</screen></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotClear"/>LinePlotClear</term>
         <listitem>
          <synopsis>LinePlotClear ()</synopsis>
          <para>Εμφανίζει το παράθυρο σχεδίασης γραμμής και καθαρίζει τις συναρτήσεις και οποιαδήποτε άλλη γραμμή σχεδιάστηκε.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotDrawLine"/>LinePlotDrawLine</term>
         <listitem>
          <synopsis>LinePlotDrawLine (x1,y1,x2,y2,...)</synopsis>
          <synopsis>LinePlotDrawLine (v,...)</synopsis>
          <para>Σχεδιάζει μια γραμμή από <varname>x1</varname>,<varname>y1</varname> μέχρι <varname>x2</varname>,<varname>y2</varname>. Τα <varname>x1</varname>,<varname>y1</varname>, <varname>x2</varname>,<varname>y2</varname> μπορούν να αντικατασταθούν από έναν πίνακα <varname>n</varname> επί 2 για μεγαλύτερη τεθλασμένη γραμμή.</para>
          <para>
	    Extra parameters can be added to specify line color, thickness,
	    arrows, the plotting window, or legend.
	    You can do this by adding an argument string <userinput>"color"</userinput>, 
	    <userinput>"thickness"</userinput>,
	    <userinput>"window"</userinput>, 
	    <userinput>"arrow"</userinput>, or <userinput>"legend"</userinput>, and after it specify
	    the color, the thickness, the window
	    as 4-vector, type of arrow, or the legend.  (Arrow and window are from version 1.0.6 onwards.)
    	  </para>
    	  <para>
	    The color should be either a string indicating the common English word for the color
	    that GTK will recognize such as 
            <userinput>"red"</userinput>, <userinput>"blue"</userinput>, <userinput>"yellow"</userinput>, etc...
	    Alternatively the color can be specified in RGB format as
	    <userinput>"#rgb"</userinput>, <userinput>"#rrggbb"</userinput>, or
	    <userinput>"#rrrrggggbbbb"</userinput>, where the r, g, or b are hex digits of the red, green, and blue
	    components of the color.  Finally, since version 1.0.18, the color
	    can also be specified as a real vector specifying the red green and
	    blue components where the components are between 0 and 1, e.g. <userinput>[1.0,0.5,0.1]</userinput>.
    	  </para>
    	  <para>Το παράθυρο πρέπει να δίνεται ως συνήθως σαν <userinput>[x1,x2,y1,y2]</userinput>, ή εναλλακτικά μπορεί να δοθεί ως μια συμβολοσειρά <userinput>"fit"</userinput> οπότε, η περιοχή x θα οριστεί ακριβώς και η περιοχή y θα οριστεί με περιγράμματα πέντε τοις εκατό γύρω από τη γραμμή.</para>
    	  <para>Η προδιαγραφή του βέλους πρέπει να είναι <userinput>"origin"</userinput>, <userinput>"end"</userinput>, <userinput>"both"</userinput>, ή <userinput>"none"</userinput>.</para>
    	  <para>Στο τέλος, το υπόμνημα πρέπει να είναι μια συμβολοσειρά που μπορεί να χρησιμοποιηθεί ως υπόμνημα στο γράφημα. Δηλαδή, αν εκτυπωθούν τα υπομνήματα.</para>
	  <para>
	  Examples:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(0,0,1,1,"color","blue","thickness",3)</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine([0,0;1,-1;-1,-1])</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine([0,0;1,1],"arrow","end")</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(RungeKuttaFull(`(x,y)=y,0,3,100),"color","blue","legend","The Solution")</userinput>
<prompt>genius&gt;</prompt> <userinput>for r=0.0 to 1.0 by 0.1 do LinePlotDrawLine([0,0;1,r],"color",[r,(1-r),0.5],"window",[0,1,0,1])</userinput>
</screen>
          </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotDrawPoints"/>LinePlotDrawPoints</term>
         <listitem>
          <synopsis>LinePlotDrawPoints (x,y,...)</synopsis>
          <synopsis>LinePlotDrawPoints (v,...)</synopsis>
          <para>
		  Draw a point at <varname>x</varname>,<varname>y</varname>.
		  The input can be an <varname>n</varname> by 2 matrix
		  for <varname>n</varname> different points.  This function has essentially the same
		  input as <link linkend="gel-function-LinePlotDrawLine">LinePlotDrawLine</link>.
          </para>
          <para>
	    Extra parameters can be added to specify line color, thickness,
	    the plotting window, or legend.
	    You can do this by adding an argument string <userinput>"color"</userinput>, 
	    <userinput>"thickness"</userinput>,
	    <userinput>"window"</userinput>, 
	    or <userinput>"legend"</userinput>, and after it specify
	    the color, the thickness, the window
	    as 4-vector, or the legend.
    	  </para>
    	  <para>
	    The color should be either a string indicating the common English word for the color
	    that GTK will recognize such as 
            <userinput>"red"</userinput>, <userinput>"blue"</userinput>, <userinput>"yellow"</userinput>, etc...
	    Alternatively the color can be specified in RGB format as
	    <userinput>"#rgb"</userinput>, <userinput>"#rrggbb"</userinput>, or
	    <userinput>"#rrrrggggbbbb"</userinput>, where the r, g, or b are hex digits of the red, green, and blue
	    components of the color.  Finally the color can also be specified as a real vector specifying the red green
	    and blue components where the components are between 0 and 1.
    	  </para>
    	  <para>Το παράθυρο πρέπει να δίνεται ως συνήθως σαν <userinput>[x1,x2,y1,y2]</userinput>, ή εναλλακτικά μπορεί να δοθεί ως μια συμβολοσειρά <userinput>"fit"</userinput> οπότε, η περιοχή x θα οριστεί ακριβώς και η περιοχή y θα οριστεί με περιγράμματα πέντε τοις εκατό γύρω από τη γραμμή.</para>
    	  <para>Στο τέλος, το υπόμνημα πρέπει να είναι μια συμβολοσειρά που μπορεί να χρησιμοποιηθεί ως υπόμνημα στο γράφημα. Δηλαδή, αν εκτυπωθούν τα υπομνήματα.</para>
	  <para>
	  Examples:
          <screen><prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(0,0,"color","blue","thickness",3)</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints([0,0;1,-1;-1,-1])</userinput>
<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(RungeKuttaFull(`(x,y)=y,0,3,100),"color","blue","legend","The Solution")</userinput>
</screen>
          </para>
	  <para>
		  Available from version 1.0.18 onwards.
	  </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotParametric"/>LinePlotParametric</term>
         <listitem>
          <synopsis>LinePlotParametric (xfunc,yfunc,...)</synopsis>
          <synopsis>LinePlotParametric (xfunc,yfunc,t1,t2,tinc)</synopsis>
          <synopsis>LinePlotParametric (xfunc,yfunc,t1,t2,tinc,x1,x2,y1,y2)</synopsis>
          <synopsis>LinePlotParametric (xfunc,yfunc,t1,t2,tinc,[x1,x2,y1,y2])</synopsis>
          <synopsis>LinePlotParametric (xfunc,yfunc,t1,t2,tinc,"fit")</synopsis>
          <para>Σχεδιάζει μια παραμετρική συνάρτηση με μια γραμμή. Πρώτα έρχονται οι συναρτήσεις για <varname>x</varname> και <varname>y</varname>, έπειτα προαιρετικά τα όρια του <varname>t</varname> ως <userinput>t1,t2,tinc</userinput>, έπειτα προαιρετικά τα όρια ως <userinput>x1,x2,y1,y2</userinput>.</para>
	  <para>Αν δεν ορίζονται τα όρια x και y, τότε εφαρμόζονται τα τρέχοντα όρια (Δείτε <link linkend="gel-function-LinePlotWindow"><function>LinePlotWindow</function></link>). Αν δίνεται η συμβολοσειρά "fit" για τα όρια x και y, τότε τα όρια είναι η μέγιστη έκταση του γραφήματος.</para>
          <para>Η παράμετρος <link linkend="gel-function-LinePlotDrawLegends"><function>LinePlotDrawLegends</function></link> ελέγχει τη σχεδίαση του υπομνήματος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-LinePlotCParametric"/>LinePlotCParametric</term>
         <listitem>
          <synopsis>LinePlotCParametric (func,...)</synopsis>
          <synopsis>LinePlotCParametric (func,t1,t2,tinc)</synopsis>
          <synopsis>LinePlotCParametric (func,t1,t2,tinc,x1,x2,y1,y2)</synopsis>
          <para>Σχεδιάζει μια παραμετρική μιγαδική συνάρτηση με μια γραμμή. Πρώτα έρχεται η συνάρτηση που επιστρέφει <computeroutput>x+iy</computeroutput>, έπειτα προαιρετικά τα όρια <varname>t</varname> ως <userinput>t1,t2,tinc</userinput>, στη συνέχεια προαιρετικά τα όρια ως <userinput>x1,x2,y1,y2</userinput>.</para>
	  <para>Αν τα όρια δεν καθορίζονται, τότε εφαρμόζονται τα τρέχοντα όρια (Δείτε <link linkend="gel-function-LinePlotWindow"><function>LinePlotWindow</function></link>). Αν δίνεται η συμβολοσειρά "fit" για τα όρια x και y, τότε τα όρια είναι η μέγιστη έκταση του γραφήματος.</para>
          <para>Η παράμετρος <link linkend="gel-function-LinePlotDrawLegends"><function>LinePlotDrawLegends</function></link> ελέγχει τη σχεδίαση του υπομνήματος.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PlotCanvasFreeze"/>PlotCanvasFreeze</term>
         <listitem>
          <synopsis>PlotCanvasFreeze ()</synopsis>
          <para>Προσωρινό πάγωμα σχεδίασης του καμβά. Χρήσιμο αν χρειάζεστε να σχεδιάσετε μια ομάδα στοιχείων και θέλετε να καθυστερήσετε τη σχεδίαση όλων για να αποφύγετε τρεμόσβησμα σε μια κίνηση. Αφού έχουν σχεδιαστεί όλα θα πρέπει να καλέσετε <link linkend="gel-function-PlotCanvasThaw"><function>PlotCanvasThaw</function></link>.</para>
          <para>Ο καμβάς ξεπαγώνει πάντα μετά το τέλος οποιασδήποτε εκτέλεσης, έτσι δεν θα παραμείνει ποτέ παγωμένος. Τη στιγμή που μια νέα γραμμή εντολών εμφανίζεται για παράδειγμα, ο καμβάς σχεδίασης ξεπαγώνει αυτόματα. Σημειώστε επίσης ότι οι κλήσεις για πάγωμα και ξεπάγωμα μπορούν με ασφάλεια να εντεθούν.</para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PlotCanvasThaw"/>PlotCanvasThaw</term>
         <listitem>
          <synopsis>PlotCanvasThaw ()</synopsis>
          <para>
		  Thaw the plot canvas frozen by
		  <link linkend="gel-function-PlotCanvasFreeze"><function>PlotCanvasFreeze</function></link>
		  and redraw the canvas immediately.  The canvas is also always thawed after end of execution
		  of any program.
          </para>
	  <para>Version 1.0.18 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-PlotWindowPresent"/>PlotWindowPresent</term>
         <listitem>
          <synopsis>PlotWindowPresent ()</synopsis>
          <para>
		  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 hidden behind the console
		  or other windows.
          </para>
	  <para>Version 1.0.19 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SlopefieldClearSolutions"/>SlopefieldClearSolutions</term>
         <listitem>
          <synopsis>SlopefieldClearSolutions ()</synopsis>
          <para>Καθαρίζει τις σχεδιασμένες λύσεις από τη συνάρτηση <link linkend="gel-function-SlopefieldDrawSolution"><function>SlopefieldDrawSolution</function></link>.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SlopefieldDrawSolution"/>SlopefieldDrawSolution</term>
         <listitem>
          <synopsis>SlopefieldDrawSolution (x, y, dx)</synopsis>
          <para>Όταν μια γραφική παράσταση πεδίου κλίσης είναι ενεργή, σχεδιάστε μια λύση με την καθορισμένη αρχική συνθήκη. Η τυπική μέθοδος Ρούνγκε-Κούτα χρησιμοποιείται με αύξηση <varname>dx</varname>. Οι λύσεις μένουν στο γράφημα μέχρι να εμφανιστεί μια διαφορετική γραφική παράσταση ή μέχρι να καλέσετε <link linkend="gel-function-SlopefieldClearSolutions"><function>SlopefieldClearSolutions</function></link>. Μπορείτε επίσης να χρησιμοποιήσετε τη γραφική διεπαφή για να σχεδιάσετε λύσεις και να ορίσετε αρχικές συνθήκες με το ποντίκι.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SlopefieldPlot"/>SlopefieldPlot</term>
         <listitem>
          <synopsis>SlopefieldPlot (func)</synopsis>
          <synopsis>SlopefieldPlot (func,x1,x2,y1,y2)</synopsis>
          <para>Σχεδιάστε ένα πεδίο κλίσης. Η συνάρτηση <varname>func</varname> πρέπει να πάρει δύο πραγματικούς αριθμούς <varname>x</varname> και <varname>y</varname>, ή έναν απλό μιγαδικό αριθμό. Προαιρετικά, μπορείτε να ορίσετε τα όρια του παραθύρου σχεδίασης ως <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. Αν τα όρια δεν καθορίζονται, τότε τα τρέχοντα ορισμένα όρια εφαρμόζονται (Δείτε <link linkend="gel-function-LinePlotWindow"><function>LinePlotWindow</function></link>).</para>
          <para>Η παράμετρος <link linkend="gel-function-LinePlotDrawLegends"><function>LinePlotDrawLegends</function></link> ελέγχει τη σχεδίαση του υπομνήματος.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>Slopefield(`(x,y)=sin(x-y),-5,5,-5,5)</userinput>
</screen></para>
         </listitem>
        </varlistentry>

	<varlistentry>
	 <term><anchor id="gel-function-SurfacePlot"/>SurfacePlot</term>
         <listitem>
          <synopsis>SurfacePlot (func)</synopsis>
          <synopsis>SurfacePlot (func,x1,x2,y1,y2,z1,z2)</synopsis>
          <synopsis>SurfacePlot (func,x1,x2,y1,y2)</synopsis>
          <synopsis>SurfacePlot (func,[x1,x2,y1,y2,z1,z2])</synopsis>
          <synopsis>SurfacePlot (func,[x1,x2,y1,y2])</synopsis>
          <para>Σχεδιάστε μια συνάρτηση επιφάνειας που παίρνει είτε δύο ορίσματα ή έναν μιγαδικό αριθμό. Πρώτα έρχεται η συνάρτηση, έπειτα προαιρετικά τα όρια ως <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>, <varname>z1</varname>, <varname>z2</varname>. Αν τα όρια δεν καθορίζονται, τότε εφαρμόζονται τα τρέχοντα ορισμένα όρια (Δείτε <link linkend="gel-function-SurfacePlotWindow"><function>SurfacePlotWindow</function></link>). Η Genius μπορεί να σχεδιάσει μόνο μια μοναδική συνάρτηση επιφάνειας τη φορά.</para>
          <para>Αν τα όρια Z δεν καθορίζονται, τότε χρησιμοποιούνται τα μέγιστα και ελάχιστα της συνάρτησης.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>SurfacePlot(|sin|,-1,1,-1,1,0,1.5)</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlot(`(x,y)=x^2+y,-1,1,-1,1,-2,2)</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlot(`(z)=|z|^2,-1,1,-1,1,0,2)</userinput>
</screen></para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotClear"/>SurfacePlotClear</term>
         <listitem>
          <synopsis>SurfacePlotClear ()</synopsis>
          <para>
            Show the surface plot window and clear out functions and any other
            lines that were drawn.
          </para>
          <para>
	    Available in version 1.0.19 and onwards.
          </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotData"/>SurfacePlotData</term>
         <listitem>
          <synopsis>SurfacePlotData (data)</synopsis>
          <synopsis>SurfacePlotData (data,label)</synopsis>
          <synopsis>SurfacePlotData (data,x1,x2,y1,y2,z1,z2)</synopsis>
          <synopsis>SurfacePlotData (data,label,x1,x2,y1,y2,z1,z2)</synopsis>
          <synopsis>SurfacePlotData (data,[x1,x2,y1,y2,z1,z2])</synopsis>
          <synopsis>SurfacePlotData (data,label,[x1,x2,y1,y2,z1,z2])</synopsis>
          <para>
		  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.
	  </para>
          <para>Προαιρετικά μπορούμε να δώσουμε την ετικέτα και επίσης τα όρια. Αν δεν δίνονται τα όρια, υπολογίζονται από τα δεδομένα, το <link linkend="gel-function-SurfacePlotWindow"><function>SurfacePlotWindow</function></link> δεν χρησιμοποιείται, αν θέλετε να το χρησιμοποιήσετε, περάστε το ρητά. Αν δεν δίνεται η ετικέτα, τότε χρησιμοποιείται η κενή ετικέτα.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>SurfacePlotData([0,0,0;1,0,1;0,1,1;1,1,3])</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,"My data")</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,-1,1,-1,1,0,10)</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,SurfacePlotWindow)</userinput>
</screen></para>
	  <para>Ιδού ένα παράδειγμα πώς να σχεδιάσετε σε πολικές συντεταγμένες, ιδιαίτερα πώς να σχεδιάσετε τη συνάρτηση <userinput>-r^2 * theta</userinput>: <screen><prompt>genius&gt;</prompt> <userinput>d:=null; for r=0 to 1 by 0.1 do for theta=0 to 2*pi by pi/5 do d=[d;[r*cos(theta),r*sin(theta),-r^2*theta]];</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(d)</userinput>
</screen></para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotDataGrid"/>SurfacePlotDataGrid</term>
         <listitem>
          <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2])</synopsis>
          <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2])</synopsis>
          <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2],label)</synopsis>
          <synopsis>SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2],label)</synopsis>
          <para>Σχεδιάστε μια επιφάνεια από κανονικά δεδομένα ορθογωνίου. Τα δεδομένα δίνεται σε έναν πίνακα n επί m, όπου οι γραμμές είναι η συντεταγμένη x και οι στήλες είναι η συντεταγμένη y. Η συντεταγμένη x διαιρείται σε ίσα n-1 υποδιαστήματα και η συντεταγμένη y διαιρείται σε ίσα m-1 υποδιαστήματα. Τα όρια <varname>x1</varname> και <varname>x2</varname> δίνουν το διάστημα στον άξονα x που χρησιμοποιούμε, ενώ τα όρια <varname>y1</varname> και <varname>y2</varname> δίνουν το διάστημα στον άξονα y που χρησιμοποιούμε. Αν τα όρια <varname>z1</varname> και <varname>z2</varname> δεν δίνονται, υπολογίζονται από τα δεδομένα (για να είναι οι ακραίες τιμές από τα δεδομένα).</para>
          <para>Προαιρετικά, μπορούμε να δώσουμε την ετικέτα. Αν η ετικέτα δεν δίνεται, τότε χρησιμοποιείται η κενή ετικέτα.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid([1,2;3,4],[0,1,0,1])</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid(data,[-1,1,-1,1],"My data")</userinput>
<prompt>genius&gt;</prompt> <userinput>d:=null; for i=1 to 20 do for j=1 to 10 d@(i,j) = (0.1*i-1)^2-(0.1*j)^2;</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid(d,[-1,1,0,1],"half a saddle")</userinput>
</screen></para>
	  <para>Version 1.0.16 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotDrawLine"/>SurfacePlotDrawLine</term>
         <listitem>
          <synopsis>SurfacePlotDrawLine (x1,y1,z1,x2,y2,z2,...)</synopsis>
          <synopsis>SurfacePlotDrawLine (v,...)</synopsis>
          <para>
	    Draw a line from <varname>x1</varname>,<varname>y1</varname>,<varname>z1</varname> to
	    <varname>x2</varname>,<varname>y2</varname>,<varname>z2</varname>.
	    <varname>x1</varname>,<varname>y1</varname>,<varname>z1</varname>,
	    <varname>x2</varname>,<varname>y2</varname>,<varname>z2</varname> can be replaced by an
	    <varname>n</varname> by 3 matrix for a longer polyline.
          </para>
          <para>
	    Extra parameters can be added to specify line color, thickness,
	    arrows, the plotting window, or legend.
	    You can do this by adding an argument string <userinput>"color"</userinput>, 
	    <userinput>"thickness"</userinput>,
	    <userinput>"window"</userinput>,
	    or <userinput>"legend"</userinput>, and after it specify
	    the color, the thickness, the window
	    as 6-vector, or the legend.
    	  </para>
    	  <para>
	    The color should be either a string indicating the common English word for the color
	    that GTK will recognize such as 
            <userinput>"red"</userinput>, <userinput>"blue"</userinput>, <userinput>"yellow"</userinput>, etc...
	    Alternatively the color can be specified in RGB format as
	    <userinput>"#rgb"</userinput>, <userinput>"#rrggbb"</userinput>, or
	    <userinput>"#rrrrggggbbbb"</userinput>, where the r, g, or b are hex digits of the red, green, and blue
	    components of the color.  Finally, since version 1.0.18, the color
	    can also be specified as a real vector specifying the red green and
	    blue components where the components are between 0 and 1, e.g. <userinput>[1.0,0.5,0.1]</userinput>.
    	  </para>
    	  <para>
	    The window should be given as usual as <userinput>[x1,x2,y1,y2,z1,z2]</userinput>, or
	    alternatively can be given as a string
	    <userinput>"fit"</userinput> in which case,
	    the x range will be set precisely and the y range will be set with
	    five percent borders around the line.
    	  </para>
    	  <para>Στο τέλος, το υπόμνημα πρέπει να είναι μια συμβολοσειρά που μπορεί να χρησιμοποιηθεί ως υπόμνημα στο γράφημα. Δηλαδή, αν εκτυπωθούν τα υπομνήματα.</para>
	  <para>
	  Examples:
          <screen><prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawLine(0,0,0,1,1,1,"color","blue","thickness",3)</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawLine([0,0,0;1,-1,2;-1,-1,-3])</userinput>
</screen>
          </para>
	  <para>
		  Available from version 1.0.19 onwards.
	  </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-SurfacePlotDrawPoints"/>SurfacePlotDrawPoints</term>
         <listitem>
          <synopsis>SurfacePlotDrawPoints (x,y,z,...)</synopsis>
          <synopsis>SurfacePlotDrawPoints (v,...)</synopsis>
          <para>
		  Draw a point at <varname>x</varname>,<varname>y</varname>,<varname>z</varname>.
		  The input can be an <varname>n</varname> by 3 matrix
		  for <varname>n</varname> different points.  This function has essentially the same
		  input as <link linkend="gel-function-SurfacePlotDrawLine">SurfacePlotDrawLine</link>.
          </para>
          <para>
	    Extra parameters can be added to specify line color, thickness,
	    the plotting window, or legend.
	    You can do this by adding an argument string <userinput>"color"</userinput>, 
	    <userinput>"thickness"</userinput>,
	    <userinput>"window"</userinput>, 
	    or <userinput>"legend"</userinput>, and after it specify
	    the color, the thickness, the window
	    as 6-vector, or the legend.
    	  </para>
    	  <para>
	    The color should be either a string indicating the common English word for the color
	    that GTK will recognize such as 
            <userinput>"red"</userinput>, <userinput>"blue"</userinput>, <userinput>"yellow"</userinput>, etc...
	    Alternatively the color can be specified in RGB format as
	    <userinput>"#rgb"</userinput>, <userinput>"#rrggbb"</userinput>, or
	    <userinput>"#rrrrggggbbbb"</userinput>, where the r, g, or b are hex digits of the red, green, and blue
	    components of the color.  Finally the color can also be specified as a real vector specifying the red green
	    and blue components where the components are between 0 and 1.
    	  </para>
    	  <para>
	    The window should be given as usual as <userinput>[x1,x2,y1,y2,z1,z2]</userinput>, or
	    alternatively can be given as a string
	    <userinput>"fit"</userinput> in which case,
	    the x range will be set precisely and the y range will be set with
	    five percent borders around the line.
    	  </para>
    	  <para>Στο τέλος, το υπόμνημα πρέπει να είναι μια συμβολοσειρά που μπορεί να χρησιμοποιηθεί ως υπόμνημα στο γράφημα. Δηλαδή, αν εκτυπωθούν τα υπομνήματα.</para>
	  <para>
	  Examples:
          <screen><prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawPoints(0,0,0,"color","blue","thickness",3)</userinput>
<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawPoints([0,0,0;1,-1,2;-1,-1,1])</userinput>
</screen>
          </para>
	  <para>
		  Available from version 1.0.19 onwards.
	  </para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorfieldClearSolutions"/>VectorfieldClearSolutions</term>
         <listitem>
          <synopsis>VectorfieldClearSolutions ()</synopsis>
          <para>Καθαρίζει τις σχεδιασμένες λύσεις από τη συνάρτηση <link linkend="gel-function-VectorfieldDrawSolution"><function>VectorfieldDrawSolution</function></link>.</para>
	  <para>Version 1.0.6 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorfieldDrawSolution"/>VectorfieldDrawSolution</term>
         <listitem>
          <synopsis>VectorfieldDrawSolution (x, y, dt, tlen)</synopsis>
          <para>Όταν ένα πεδίο διανύσματος είναι ενεργό, σχεδιάστε μια λύση με την καθορισμένη αρχική συνθήκη. Η τυπική μέθοδος Ρούνγκε-Κούτα χρησιμοποιείται με αύξηση <varname>dt</varname> για ένα διάστημα μήκους <varname>tlen</varname>.. Οι λύσεις μένουν στο γράφημα μέχρι να εμφανιστεί μια διαφορετική γραφική παράσταση ή μέχρι να καλέσετε <link linkend="gel-function-VectorfieldClearSolutions"><function>VectorfieldClearSolutions</function></link>. Μπορείτε επίσης να χρησιμοποιήσετε τη γραφική διεπαφή για να σχεδιάσετε λύσεις και να ορίσετε αρχικές συνθήκες με το ποντίκι.</para>
	  <para>Version 1.0.6 onwards.</para>
         </listitem>
        </varlistentry>

        <varlistentry>
         <term><anchor id="gel-function-VectorfieldPlot"/>VectorfieldPlot</term>
         <listitem>
          <synopsis>VectorfieldPlot (funcx, funcy)</synopsis>
          <synopsis>VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)</synopsis>
          <para>Σχεδιάστε ένα δισδιάστατο διανυσματικό πεδίο. Η συνάρτηση <varname>funcx</varname> πρέπει να είναι η dx/dt του διανυσματικού πεδίου και η συνάρτηση <varname>funcy</varname> πρέπει να είναι η dy/dt του διανυσματικού πεδίου. Οι συναρτήσεις πρέπει να παίρνουν δύο πραγματικούς αριθμούς <varname>x</varname> και <varname>y</varname>, ή έναν μοναδικό μιγαδικό αριθμό. Όταν η παράμετρος <link linkend="gel-function-VectorfieldNormalized"><function>VectorfieldNormalized</function></link> είναι <constant>true</constant>, τότε το μέγεθος των διανυσμάτων είναι κανονικοποιημένο. Δηλαδή, εμφανίζεται μόνο η κατεύθυνση και όχι το μέγεθος.</para>
	  <para>Προαιρετικά, μπορείτε να ορίσετε τα όρια του παραθύρου σχεδίασης ως <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. Αν δεν καθορίζονται τα όρια, τότε εφαρμόζονται τα τρέχοντα όρια (Δείτε <link linkend="gel-function-LinePlotWindow"><function>LinePlotWindow</function></link>).</para>
          <para>Η παράμετρος <link linkend="gel-function-LinePlotDrawLegends"><function>LinePlotDrawLegends</function></link> ελέγχει τη σχεδίαση του υπομνήματος.</para>
          <para>Παραδείγματα: <screen><prompt>genius&gt;</prompt> <userinput>VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)</userinput>
</screen></para>
         </listitem>
        </varlistentry>

      </variablelist>
    </sect1>

  </chapter>

  <!-- ============= GEL examples ============================= -->
  <chapter id="genius-gel-example-programs">
    <title>Παράδειγμα προγραμμάτων στην GEL</title>

    <para>Ιδού μια συνάρτηση που υπολογίζει παραγοντικά: <programlisting><![CDATA[function f(x) = if x <= 1 then 1 else (f(x-1)*x)
]]></programlisting></para>
    <para>Με παραγραφοποίηση γίνεται: <programlisting><![CDATA[function f(x) = (
  if x <= 1 then
    1
  else
    (f(x-1)*x)
)
]]></programlisting></para>
    <para>Αυτή είναι η άμεση θύρα της παραγοντικής συνάρτησης από τη σελίδα εγχειριδίου <application>bc</application>. Η σύνταξη φαίνεται παρόμοια με την <application>bc</application>, αλλά διαφέρει στο ότι στην GEL η τελευταία παράσταση είναι αυτή που επιστρέφεται. Χρησιμοποιώντας τη συνάρτηση <literal>return</literal>, θα πρέπει να είναι: <programlisting><![CDATA[function f(x) = (
  if (x <= 1) then return (1);
  return (f(x-1) * x)
)
]]></programlisting></para>

    <para>Ο ευκολότερος τρόπος να οριστεί μια παραγοντική συνάρτηση είναι χρησιμοποιώντας τον βρόχο γινομένου όπως ακολουθεί. Αυτό δεν είναι μόνο ο πιο σύντομη και ο γρήγορη, αλλά επίσης η πιο αναγνώσιμη έκδοση. <programlisting>function f(x) = prod k=1 to x do k
</programlisting></para>

    <para>Ιδού ένα μεγαλύτερο παράδειγμα, αυτό βασικά ξαναορίζει την εσωτερική συνάρτηση <link linkend="gel-function-ref"><function>ref</function></link> για να υπολογίσει τη μορφή κλιμακωτής γραμμής ενός πίνακα. Η συνάρτηση <function>ref</function> είναι ενσωματωμένη και πολύ γρηγορότερη, αλλά αυτό το παράδειγμα δείχνει μερικά πιο σύνθετα γνωρίσματα της GEL. <programlisting><![CDATA[# Calculate the row-echelon form of a matrix
function MyOwnREF(m) = (
  if not IsMatrix(m) or not IsValueOnly(m) then
    (error("MyOwnREF: argument not a value only matrix");bailout);
  s := min(rows(m), columns(m));
  i := 1;
  d := 1;
  while d <= s and i <= columns(m) do (

    # This just makes the anchor element non-zero if at
    # all possible
    if m@(d,i) == 0 then (
      j := d+1;
      while j <= rows(m) do (
        if m@(j,i) == 0 then
          (j=j+1;continue);
        a := m@(j,);
        m@(j,) := m@(d,);
        m@(d,) := a;
        j := j+1;
        break
      )
    );
    if m@(d,i) == 0 then
      (i:=i+1;continue);
    
    # Here comes the actual zeroing of all but the anchor
    # element rows
    j := d+1;
    while j <= rows(m)) do (
      if m@(j,i) != 0 then (
        m@(j,) := m@(j,)-(m@(j,i)/m@(d,i))*m@(d,)
      );
      j := j+1
    );
    m@(d,) := m@(d,) * (1/m@(d,i));
    d := d+1;
    i := i+1
  );
  m
)
]]></programlisting></para>

  </chapter>

  <!-- ============= Customization ============================ -->
  <chapter id="genius-prefs"> 
    <title>Ρυθμίσεις</title> 

    <para>Για να ρυθμίσετε το <application>Εργαλείο μαθηματικών Genius</application>, επιλέξτε <menuchoice><guimenu>Ρυθμίσεις</guimenu><guimenuitem>Προτιμήσεις</guimenuitem></menuchoice>. Υπάρχουν αρκετές βασικές παράμετροι που παρέχονται από την αριθμομηχανή πέρα από αυτές που δίνονται από την τυπική βιβλιοθήκη. Αυτές ελέγχουν τη συμπεριφορά της αριθμομηχανής.</para>

    <note>
      <title>Αλλαγή ρυθμίσεων με την GEL</title>
      <para>Πολλές από τις ρυθμίσεις στη Genius είναι απλά καθολικές μεταβλητές και μπορούν να υπολογιστούν και να εκχωρηθούν με τον ίδιο τρόπο όπως οι κανονικές μεταβλητές. Δείτε <xref linkend="genius-gel-variables"/> για τον υπολογισμό και την εκχώρηση σε μεταβλητές και <xref linkend="genius-gel-function-parameters"/> για έναν κατάλογο ρυθμίσεων που μπορούν να τροποποιηθούν με αυτόν τον τρόπο.</para>
      <para>Ως παράδειγμα, μπορείτε να ορίσετε τον μέγιστο αριθμό ψηφίων σε ένα αποτέλεσμα σε 12 πληκτρολογώντας: <programlisting>MaxDigits = 12
</programlisting></para>
    </note>

    <sect1 id="genius-prefs-output"> 
      <title>Έξοδος</title> 
      <variablelist> 
	<varlistentry>
	  <term> 
	    <guilabel>Μέγιστος αριθμός ψηφίων στην έξοδο</guilabel>
      </term> 
	  <listitem>
		  <para>Ο μέγιστος αριθμός ψηφίων σε ένα αποτέλεσμα (<link linkend="gel-function-MaxDigits"><function>MaxDigits</function></link>)</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Αποτελέσματα ως αριθμοί κινητής υποδιαστολής</guilabel>
      </term> 
	  <listitem>
		  <para>Αν τα αποτελέσματα πρέπει να εμφανίζονται πάντα ως αριθμοί κινητής υποδιαστολής (<link linkend="gel-function-ResultsAsFloats"><function>ResultsAsFloats</function></link>)</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Αριθμοί κινητής υποδιαστολής σε επιστημονική σημειογραφία</guilabel>
      </term> 
	  <listitem>
		  <para>Αν οι αριθμοί κινητής υποδιαστολής πρέπει να είναι σε επιστημονική σημειογραφία (<link linkend="gel-function-ScientificNotation"><function>ScientificNotation</function></link>)</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Να εμφανίζονται πάντα πλήρεις παραστάσεις</guilabel>
      </term> 
	  <listitem>
		  <para>Αν πρέπει να εμφανίζονται πλήρεις παραστάσεις για μη αριθμητικές τιμές επιστροφής (μεγαλύτερες από μια γραμμή) (<link linkend="gel-function-FullExpressions"><function>FullExpressions</function></link>)</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Χρήση μικτών κλασμάτων</guilabel>
      </term> 
	  <listitem>
		  <para>Αν τα κλάσματα πρέπει να εμφανίζονται ως μικτά κλάσματα όπως "1 1/3" αντί για "4/3". (<link linkend="gel-function-MixedFractions"><function>MixedFractions</function></link>)</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Να εμφανίζεται 0.0 όταν ο αριθμός κινητής υποδιαστολής είναι μικρότερος από 10^-x (το 0=να μην περικόπτεται ποτέ)</guilabel>
      </term> 
	  <listitem>
	  <para>How to chop output.  But only when other numbers nearby are large.
	   See the documentation of the parameter
          <link linkend="gel-function-OutputChopExponent"><function>OutputChopExponent</function></link>. </para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
            <guilabel>Να περικόπτονται οι αριθμοί μόνο όταν ένας άλλος αριθμός είναι μεγαλύτερος από 10^-x</guilabel>
      </term> 
	  <listitem>
		  <para>When to chop output.  This is set by the parameter <link linkend="gel-function-OutputChopWhenExponent"><function>OutputChopWhenExponent</function></link>.
	   See the documentation of the parameter
          <link linkend="gel-function-OutputChopExponent"><function>OutputChopExponent</function></link>. </para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Απομνημόνευση ρυθμίσεων εξόδου σε όλες τις συνεδρίες</guilabel>
      </term> 
	  <listitem>
        <para>Αν θα πρέπει οι ρυθμίσεις εξόδου στο <guilabel>Επιλογές εξόδου αριθμού/παράστασης</guilabel> να απομνημονεύονται για την επόμενη συνεδρία. Δεν εφαρμόζεται στο πλαίσιο <guilabel>Επιλογές εξόδου σφάλματος/πληροφοριών</guilabel>.</para>
	      <para>Αν δεν σημειωθεί, είτε η προεπιλογή είτε οποιεσδήποτε προηγουμένως αποθηκευμένες ρυθμίσεις χρησιμοποιούνται κάθε φορά που η Genius ξεκινά. Σημειώστε ότι οι ρυθμίσεις αποθηκεύονται στο τέλος της συνεδρίας, έτσι αν θέλετε να αλλάξετε τις προεπιλογές, σημειώστε αυτό το πλαίσιο, επανεκκινήστε <application>Εργαλείο μαθηματικών Genius</application> και έπειτα αποεπιλέξτε το ξανά.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Να εμφανίζονται τα σφάλματα σε διάλογο</guilabel>
      </term> 
	  <listitem>
        <para>Αν οριστεί τα σφάλματα θα εμφανίζονται σε έναν ξεχωριστό διάλογο, αν δεν οριστεί τα σφάλματα θα τυπωθούν στην κονσόλα.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Να εμφανίζονται τα μηνύματα πληροφοριών σε έναν διάλογο</guilabel>
      </term> 
	  <listitem>
	<para>Αν οριστεί τα μηνύματα πληροφοριών θα εμφανίζονται σε έναν ξεχωριστό διάλογο, αν δεν οριστεί τα μηνύματα πληροφοριών θα τυπωθούν στην κονσόλα.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Ο μέγιστος αριθμός σφαλμάτων που θα εμφανίζονται</guilabel>
      </term> 
	  <listitem>
        <para>Ο μέγιστος αριθμός σφαλμάτων που θα επιστρέφεται με έναν υπολογισμό (<link linkend="gel-function-MaxErrors"><function>MaxErrors</function></link>). Αν το ορίσετε σε 0, τότε όλα τα σφάλματα επιστρέφονται πάντα. Συνήθως, αν κάποιος βρόχος προκαλεί πολλά σφάλματα, τότε είναι απίθανο ότι θα μπορέσετε να πάρετε νόημα από περισσότερους εκτός από λίγους από αυτούς, έτσι βλέποντας έναν μεγάλο κατάλογο σφαλμάτων δεν είναι συνήθως χρήσιμο.</para>
	  </listitem>
	</varlistentry>
      </variablelist> 

      <para>Πέρα από αυτές τις προτιμήσεις, υπάρχουν κάποιες προτιμήσεις που μπορούν να αλλαχθούν μόνο ορίζοντας τες στην κονσόλα χώρου εργασίας. Για άλλες που μπορούν να επηρεάσουν την έξοδο δείτε <xref linkend="genius-gel-function-parameters"/>.</para>

      <variablelist> 
	<varlistentry>
	  <term> 
	    <function>IntegerOutputBase</function>
      </term> 
	  <listitem>
        <para>Η βάση που θα χρησιμοποιηθεί για την έξοδο ακεραίων</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <function>OutputStyle</function>
      </term> 
	  <listitem>
	<para>Μια συμβολοσειρά, μπορεί να είναι <literal>"normal"</literal>, <literal>"latex"</literal>, <literal>"mathml"</literal> ή <literal>"troff"</literal> και θα επηρεάσει πως οι πίνακες (και ίσως άλλο υλικό) εκτυπώνεται, χρήσιμο για επικόλληση σε έγγραφα. Η κανονική τεχνοτροπία είναι η προεπιλεγμένη ανθρώπινη αναγνώσιμη τεχνοτροπία εκτύπωσης του <application>Εργαλείο μαθηματικών Genius</application>. Οι άλλες τεχνοτροπίες είναι εκτύπωσης για LaTeX, MathML (XML), ή στο Troff.</para>
	  </listitem>
	</varlistentry>
      </variablelist> 
   </sect1> 

    <sect1 id="genius-prefs-precision"> 
      <title>Ακρίβεια</title> 
      <variablelist> 
	<varlistentry>
	  <term> 
	    <guilabel>Ακρίβεια κινητής υποδιαστολής</guilabel>
      </term> 
	  <listitem>
        <para>Η ακρίβεια κινητής υποδιαστολής σε δυαδικά ψηφία (<link linkend="gel-function-FloatPrecision"><function>FloatPrecision</function></link>). Σημειώστε ότι αλλάζοντας αυτό επηρεάζει μόνο τις νέες υπολογιζόμενες ποσότητες. Οι παλιές τιμές που αποθηκεύονται σε μεταβλητές είναι προφανώς ακόμα στην παλιά ακρίβεια και αν θέλετε να τις έχετε πιο ακριβείς, θα πρέπει να τις επαναϋπολογίσετε. Οι εξαιρέσεις σε αυτό είναι οι σταθερές συστήματος όπως <link linkend="gel-function-pi"><function>pi</function></link> ή <link linkend="gel-function-e"><function>e</function></link>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term> 
	    <guilabel>Να απομνημονεύεται η ρύθμιση ακρίβειας σε όλες τις συνεδρίες</guilabel>
      </term> 
	  <listitem>
        <para>Αν θα πρέπει η ακρίβεια να οριστεί για να απομνημονεύεται για την επόμενη συνεδρία. Αν δεν σημειωθεί, είτε η προεπιλεγμένη είτε οποιαδήποτε προηγουμένως αποθηκευμένη ρύθμιση θα χρησιμοποιηθεί, κάθε φορά που ξεκινά η Genius. Σημειώστε ότι οι ρυθμίσεις αποθηκεύονται στο τέλος της συνεδρίας και έτσι αν θέλετε να αλλάξετε την προεπιλογή σημειώστε αυτό το πλαίσιο, επανεκκινήστε τη genius και έπειτα αποεπιλέξτε την πάλι.</para>
	  </listitem>
	</varlistentry>
      </variablelist> 
    </sect1> 

    <sect1 id="genius-prefs-terminal"> 
      <title>Τερματικό</title> 

      <para>Το τερματικό αναφέρεται στην κονσόλα στην περιοχή εργασίας.</para>

      <variablelist> 
	<varlistentry>
	  <term> 
	    <guilabel>Γραμμές οπισθοκύλισης</guilabel>
      </term> 
	  <listitem>
        <para>Γραμμές οπισθοκύλισης στο τερματικό.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Γραμματοσειρά</guilabel>
      </term> 
	  <listitem>
        <para>Η γραμματοσειρά που θα χρησιμοποιηθεί στο τερματικό.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Μαύρο σε λευκό</guilabel>
      </term> 
	  <listitem>
        <para>Αν θα χρησιμοποιήσετε μαύρο σε λευκό στο τερματικό.</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term> 
	    <guilabel>Δρομέας που αναβοσβήνει</guilabel>
      </term> 
	  <listitem>
        <para>Αν ο δρομέας στο τερματικό πρέπει να αναβοσβήνει, όταν το τερματικό εστιάζει. Αυτό μπορεί μερικές φορές να είναι ενοχλητικό και δημιουργεί αδρανή κυκλοφορία αν χρησιμοποιείτε τη Genius απομακρυσμένα.</para>
	  </listitem>
	</varlistentry>
      </variablelist> 
    </sect1> 

    <sect1 id="genius-prefs-memory"> 
      <title>Μνήμη</title> 
      <variablelist> 
	<varlistentry>
	  <term> 
	    <guilabel>Μέγιστος αριθμός κόμβων για κατανομή</guilabel>
      </term> 
	  <listitem>
        <para>Εσωτερικά, όλα τα δεδομένα τίθενται σε μικρούς κόμβους στη μνήμη. Αυτό δίνει ένα όριο στον μέγιστο αριθμό κόμβων για κατανομή στους υπολογισμούς. Αυτό το όριο αποφεύγει το πρόβλημα έλλειψης μνήμης, αν κάνετε κάτι κατά λάθος, που χρησιμοποιεί υπερβολική μνήμη, όπως η αναδρομή χωρίς τέλος. Αυτό μπορεί να καθυστερήσει τον υπολογιστή σας και να τον δυσκολέψει ακόμα και να διακόψει το πρόγραμμα.</para>
        <para>Μόλις φτάσει το όριο, το <application>Εργαλείο μαθηματικών Genius</application> ζητά αν θέλετε να διακόψετε τον υπολογισμό ή αν θέλετε να συνεχίσετε. Αν συνεχίσετε, δεν εφαρμόζεται όριο και είναι πιθανό στον υπολογιστής σας να λείψει μνήμη. Το όριο θα εφαρμοστεί ξανά την επόμενη φορά που θα εκτελέσετε ένα πρόγραμμα ή μια παράσταση στην κονσόλα ανεξάρτητα από το πώς απαντήσατε στην ερώτηση.</para>
        <para>Ορίζοντας το όριο σε μηδέν σημαίνει ότι δεν υπάρχει όριο στο πόση μνήμη χρησιμοποιεί η Genius.</para>
	  </listitem>
	</varlistentry>

      </variablelist> 
    </sect1> 

  </chapter>

<!-- ============= About ====================================== -->
  <chapter id="genius-about"> 
    <title>Περί του <application>Εργαλείο μαθηματικών Genius</application></title> 

    <para>Το <application>Εργαλείο μαθηματικών Genius</application> γράφτηκε από τον Jiří (George) Lebl (<email>jirka@5z.com</email>). Το ιστορικό του <application>Εργαλείο μαθηματικών Genius</application> πηγαίνει πίσω στο τέλος του 1997. Ήταν το πρώτο πρόγραμμα αριθμομηχανής για GNOME, αλλά έπειτα επεκτάθηκε πέρα από μια απλή επιτραπέζια αριθμομηχανή. Για να βρείτε περισσότερες πληροφορίες για το <application>Εργαλείο μαθηματικών Genius</application>, παρακαλούμε επισκεφτείτε την <ulink url="http://www.jirka.org/genius.html" type="http">ιστοσελίδα Genius</ulink>.</para>
    <para>Για να αναφέρετε ένα σφάλμα ή να κάνετε μια πρόταση σχετικά με αυτήν την εφαρμογή ή αυτό το εγχειρίδιο, στείλτε ένα μήνυμα σε μένα (τον συγγραφέα) ή στείλτε στην ταχυδρομική λίστα (δείτε την ιστοσελίδα).</para>

    <para> This program is distributed under the terms of the GNU
      General Public license as published by the Free Software
      Foundation; either version 3 of the License, or (at your option)
      any later version. A copy of this license can be found at this
      <ulink url="http://www.gnu.org/copyleft/gpl.html" type="http">link</ulink>, or in the file
      COPYING included with the source code of this program. </para>

    <para>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.</para>

  </chapter>

</book>
