<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY kappname "&kalgebra;">
  <!ENTITY package "kdeedu">

  <!ENTITY commands SYSTEM "commands.docbook">

  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Dutch "INCLUDE">
]>

<book id="kalgebra" lang="&language;">

<bookinfo>
<title
>Het handboek van &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
&Jaap.Woldringh; 
</authorgroup>

<copyright>
<year
>2007</year>
<holder
>&Aleix.Pol;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>


<date
>2013-06-27</date>
<releaseinfo
>0.11 (&kde; 4.11)</releaseinfo>

<abstract>
<para
>&kalgebra; kan uw grafische rekenmachine vervangen. Het heeft numerieke, logische, symbolische en analytische functies waarmee u wiskundige uitdrukkingen kunt berekenen in het scherm (de console), en de resultaten in 2D of 3D kunt plotten. &kalgebra; is gebaseerd op de Mathematical Markup Language (MathML), maar kennis daarvan is niet nodig om &kalgebra; te kunnen gebruiken. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>grafiek</keyword>
<keyword
>wiskunde</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Inleiding</title>

<para
>&kalgebra; heeft talloze eigenschappen die de gebruiker kan gebruiken voor allerlei wiskundige bewerkingen, en het grafisch weergeven van de resultaten. Aanvankelijk was dit programma op MathML gericht. Tegenwoordig kan het door iedereen worden gebruikt met enige wiskundige kennis, voor het oplossen van zowel eenvoudige als minder eenvoudige problemen. </para>
<!--FIXME Ask Burkhard where to put tutorials and if it is worth efforts to do. Example from UB page: http://swiftscythe.blogspot.de/2011/02/how-to-work-with-complex-numbers-in.html-->
<para
>Het heeft eigenschappen zoals: </para>


<itemizedlist>
<listitem
><para
>Een console waarin wiskundige functies snel en eenvoudig kunnen worden berekend. </para
></listitem>
<listitem
><para
>Scriptmogelijkheden voor gevorderde reeksen van berekeningen </para
></listitem>
<listitem
><para
>Taalmogelijkheden zoals definiëren van functies en automatisch syntaxisaanvullen. </para
></listitem>
<listitem
><para
>Analysefuncties, zoals symbolisch differentiëren, vectoranalyse, en manipuleren van lijsten. </para
></listitem>
<listitem
><para
>Functieplotten met een actieve muisaanwijzer voor het grafisch vinden van nulpunten, en andere. </para
></listitem>
<listitem
><para
>3D plotten voor het visualiseren van 3D functies. </para
></listitem>
<listitem
><para
>Een woordenlijst van bewerkingen waarin vlot de vele aanwezige functies kunnen worden gevonden. </para
></listitem>
</itemizedlist>

<para
>Hier ziet u een schermbeeld van &kalgebra; in actie: </para>

<screenshot>
<screeninfo
>Hier ziet u een schermbeeld van het hoofdvenster van &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Hoofdvenster van &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>Bij het starten van &kalgebra; ziet de gebruiker een enkel venster, dat de tabbladen bevat voor<guilabel
>Console</guilabel
>, <guilabel
>2D-grafiek</guilabel
> , <guilabel
>3D-grafiek</guilabel
> en <guilabel
>Woordenlijst</guilabel
>. In deze tabbladen vindt u een invoerveld waarin u uw functies kunt typen en uw berekeningen kunt doen. </para>

<para
>Altijd kan de gebruiker een sessie beheren met de opties in het hoofdmenu <guilabel
>Sessie</guilabel
> options:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenu
>Sessie</guimenu
><guimenuitem
>Nieuw</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Opent een nieuw venster van &kalgebra;</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl;&Shift; <keycap
>F</keycap
></keycombo
></shortcut
> <guimenu
>Sessie</guimenu
><guimenuitem
>Volledig scherm</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Volledig scherm in &kalgebra; aan- en uitzetten. Dit kan ook met de knop <inlinemediaobject
> <imageobject
> <imagedata fileref="view-fullscreen.png" format="PNG"/> </imageobject
> </inlinemediaobject
> rechts boven in het venster van &kalgebra;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenu
>Sessie</guimenu
><guimenuitem
>Afsluiten</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sluit het programma af.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="syntax">
<title
>Syntaxis</title>
<para
>In &kalgebra; wordt een intuïtieve algebraïsche syntaxis gebruikt voor het invoeren van functies, gelijk aan die van veel moderne grafische rekenmachines. U vindt hier een  lijst van de fundamentele ingebouwde bewerkingen in &kalgebra;. De auteur van &kalgebra; baseerde de syntaxis op <ulink url="http://maxima.sourceforge.net/"
>Maxima</ulink
> en <ulink url="http://www.maplesoft.com/products/maple/"
>maple</ulink
>, om tegemoet te komen aan  gebruikers van deze programma's. </para>

<para
>Voor hen die belang stellen in hoe &kalgebra; werkt: door de gebruiker ingevoerde expressies worden in het backend geconverteerd naar MathML. Een rudimentair begrip van de mogelijkheden van MathML kan al veel duidelijk maken van de inwendige werking van &kalgebra;. </para>

<para
>Hier is een lijst van de tot nu toe beschikbare bewerkingen:</para>
<itemizedlist>
<listitem
><para
>+ - * / : Optellen, aftrekken, vermenigvuldigen en delen.</para
> </listitem>
<listitem
><para
>^, **: Machtverheffen, u kunt ze beiden gebruiken. Het is ook mogelijk de unicode ² -karakters te gebruiken. U kunt machten ook gebruiken voor het berekenen van wortels zoals: a**(1/b)</para
></listitem>
<listitem
><para
>-&gt; : lambda. Dit is de manier om een of meer vrije variabelen op te geven die in een functie worden ingebonden (bound). Bijvoorbeeld, in de expressie <userinput
>lengte:=(x,y)->(x*x+y*y)^0.5</userinput
>, wordt de bewerking lambda gebruikt om aan te geven dat x en y zullen worden ingebonden als de functie lengte wordt gebruikt. </para
></listitem>
<listitem
><para
>x=a..b : Wordt gebruikt wanneer het nodig is om een interval af te bakenen (begrensde variabele+bovengrens+ondergrens). Dit betekent dat x waarden krijgt tussen a en b.</para
></listitem>
<listitem
><para
>() : Wordt gebruikt om een hogere prioriteit aan te geven.</para
></listitem>
<listitem
><para
>abc(params) :  Functies. Wanneer bij het inlezen een functie wordt gevonden,  wordt nagegaan of abc een bewerking is. Indien dit zo is, dan wordt het als een bewerking beschouwd, en anders als een door de gebruiker gemaakte functie.</para
></listitem>
<listitem
><para
>:= : Definitie.Wordt gebruikt om een variabele te definiëren. U kunt dingen doen als x:=3, x:=y, waarin y al of niet is gedefiniëerd, of omtrek :=r->2*pi*r. </para
></listitem>
<listitem
><para
>? : Piecewise voorwaarden. Met piecewise (betekent: in gedeelten) kunnen we in &kalgebra; voorwaardelijke bewerkingen definiëren. Dit is een alternatief voor het opgeven van een voorwaarde in de vorm van if, elseif, else.Indien we een voorwaarde opgeven voor het '?', dan wordt de bewerking erna alleen uitgevoerd als die voorwaarde waar is, indien een '?' wordt aangetroffen zonder voorwaarde daaraan voorafgaand, dan zal de bewerking erna worden uitgevoerd. Voorbeeld: piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{ } : plaatshouder in MathML. Kan worden gebruikt om een plaatshouder te definiëren. Wordt het meest met piecewise worden gebruikt. </para
></listitem>
<listitem
><para
>= &gt; &gt;= &lt; &lt;= : Vergelijking van getallen, in de genoemde volgorde gelijk aan, groter dan of gelijk aan, kleiner dan en kleiner dan of gelijk aan</para
></listitem>
</itemizedlist>

<para
>U zou mij nu kunnen vragen wat een gebruiker te maken heeft met MathML. Dat is eenvoudig te beantwoorden. Hiermee kunnen we functies gebruiken, zoals cos(), sin(), of elke andere goniometrische functie, sum() of product(). Het geeft niet welke. We kunnen plus(), times() en alles waar een bewerking bij hoort gebruiken. Ook booleaanse functies zijn geïmplementeerd, zodat zoiets als or(1,0,0,0,0) mogelijk is.</para>

</chapter>

<chapter id="using-console">
<title
>Het gebruik van de console</title>
<para
>De console van &kalgebra; kan als een rekenmachine worden gebruikt. De gebruiker kan hierin te berekenen expressies invoeren, in een van de beide berekeningsmodi die in het menu <guimenu
>Console</guimenu
> te vinden zijn. </para>
<para
>In de evaluatiemodus vereenvoudigt &kalgebra; de uitdrukking, zelfs als er een niet gedefinieerde variabele in voorkomt. In de berekeningsmodus berekent &kalgebra; alles, en geeft het een foutmelding wanneer een variabele niet is gedefinieerd. </para>
<para
>Naast het in de console tonen  van de door de gebruiker ingevoerde vergelijkingen en de antwoorden, worden alle gedeclareerde variabelen getoond in een vast scherm rechts. Na dubbelklikken op een variabele ziet u een dialoog waarin u de waarde ervan kunt wijzigen. </para>

<para
>De variabele "ans" is bijzonder, en heeft de waarde van de laatst uitgevoerde berekening. </para>

<para
>Hier volgen wat voorbeelden van functies die in het invoerveld van de console kunnen worden ingevoerd: </para>
<itemizedlist>
<listitem
><para
>sin(pi)</para
></listitem>
<listitem
><para
>k:=33</para
></listitem>
<listitem
><para
>sum(k*x : x=0..10)</para
></listitem>
<listitem
><para
>f:=p->p*k</para
></listitem>
<listitem
><para
>f(pi)</para
></listitem>
</itemizedlist>

<para
>Hier volgt een schermafbeelding van het consolevenster na het invoeren van de bovenstaande voorbeelden: </para>
<screenshot>
<screeninfo
>Schermbeeld van de console van &kalgebra; met voorbeelden van expressies</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-console-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Console van &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


<para
>Een gebruiker kan het uitvoeren van een lijst van berekeningen besturen met de scriptopties in het menu <guimenu
>Console</guimenu
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenu
>Console</guimenu
><guimenuitem
>Script inlezen</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Voert de instructies in een bestand na elkaar uit. Handig om bijvoorbeeld een aantal bibliotheken te definiëren, of met vorig werk verder te kunnen gaan.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>G</keycap
></keycombo
></shortcut
> <guimenu
>Console</guimenu
><guimenuitem
>Script opslaan</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Bewaart de sinds het begin van de sessie ingetypte instructies voor later hergebruik. Hierdoor wordt een tekstbestand aangemaakt, dat eenvoudig kan worden bewerkt met een tekstverwerker, zoals Kate.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenu
>Console</guimenu
><guimenuitem
>Log exporteren</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Slaat de log (logboek) van alle resultaten op in een &HTML;-bestand, zodat u die kunt afdrukken of publiceren.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>2D-grafieken</title>
<para
>U kunt een 2D-grafiek in &kalgebra; toevoegen in het tabblad <guilabel
>2D-grafiek</guilabel
>. Klik hierin op de knop <guilabel
>Toevoegen</guilabel
>, u kunt dan een nieuwe functie intypen in het invoerveld.</para>

<sect1 id="two-D-syntax">
<title
>Syntaxis</title>
<para
>Indien u een gebruikelijke f(x)-functie wilt gebruiken, dan is het niet nodig die nader te omschrijven, maar is het een f(y)-functie of een functie in poolcoördinaten, dan is het nodig om y-&gt; en q-&gt; toe te voegen als de begrensde variabelen.</para>

<para
>Voorbeelden:</para>
<itemizedlist>
<listitem
><para
>sin(x)</para
></listitem>
<listitem
><para
>x²</para
></listitem>
<listitem
><para
>y->sin(y)</para
></listitem>
<listitem
><para
>q->3*sin(7*q)</para
></listitem>
<listitem
><para
>t->vector{sin t, t**2}</para
></listitem>
</itemizedlist>
<para
>Na het invoeren van een functie klikt u op de knop <guibutton
>OK</guibutton
>, de grafiek wordt dan in het hoofvenster getoond.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Eigenschappen</title>
<para
>U kunt meerdere grafieken tegelijk plotten. In de Lijst-modus kunt u dit gewoon met de knop <guilabel
>Toevoegen</guilabel
> doen. U kunt elke grafiek een eigen kleur geven.</para>

<para
>U kunt in de grafieken zoomen en het beeld verplaatsen met behulp van de muis. Met het muiswiel kunt u in- en uitzoomen. Met de linker muisknop kunt u ook een gebied selecteren waarna op dit gebied wordt ingezoomd. Het beeld kan worden verplaatst met behulp van de pijltjes-toetsen.</para>

<note>
 <para
>Het afbeeldingsgebied voor 2D-grafieken kan expliciet worden aangegeven in het tabblad <guilabel
>Afbeeldingsgebied</guilabel
> in het tabblad <guilabel
>2D-grafiek</guilabel
>.</para>
</note>
 
<para
>In het tabblad <guilabel
>Lijst</guilabel
> kunt u een tabblad <guilabel
>Bewerken</guilabel
> openen, waarin u met dubbelklikken een functie kunt bewerken of verwijderen, en middels het keuzevakje  het tonen van de functienaam aan of uit zetten.</para>
<para
>In het menu <guimenu
>2D-grafiek</guimenu
> zijn de volgende opties:</para>
<itemizedlist>
<listitem
><para
>Rooster zichtbaar of onzichtbaar</para
></listitem>
<listitem
><para
>Bij zoomen aspectverhouding bewaren</para
></listitem>
<listitem
><para
>Inzoomen (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) en uitzoomen (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>)</para
></listitem>
<listitem
><para
>Grafiek (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) opslaan als afbeeldingsbestand</para
></listitem>
<listitem
><para
>Aanvankelijke zoom herstellen</para
></listitem>
<listitem
><para
>Nauwkeurigheid grafieken selecteren</para
></listitem>
</itemizedlist>

<para
>Hieronder is een schermbeeld waarin zijn muisaanwijzer geplaatst is op het meest rechtse nulpunt van de functie sin(1/x).  Deze grafiek werd met een hoge resolutie gemaakt (omdat die steeds sneller oscilleert nabij de oorsprong). Er is ook een actieve muisaanwijzer beschikbaar waarvan u, als u die over de plot verplaatst, de bijbehorende x- en y-coördinaten kunt aflezen links onder in het scherm. Op de plaats van deze muisaanwijzer wordt ook een raaklijn aan de grafiek van de functie getekend in de plot. </para>

<screenshot>
<screeninfo
>Hier ziet u een schermbeeld van het 2D-venster van &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>2D-venster van &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>3D-grafieken</title>

<para
>In &kalgebra; kunt u een 3D-grafiek te tekenen in het tabblad <guilabel
>3D-grafiek</guilabel
>. Hierin vindt u onderin een invoerveld, waarin u uw functie kunt typen. Voorlopig ondersteunt &kalgebra; alleen impliciete 3d-grafieken die alleen afhankelijk zijn van x en y, zoals (x,y)->x*y, dus waarin z=x*y. </para>

<para
>Voorbeelden:</para>
<itemizedlist>
<listitem
><para
>(x,y)->sin(x)*sin(y)</para
></listitem>
<listitem
><para
>(x,y)->x/y</para
></listitem>
</itemizedlist>

<para
>U kunt in de grafieken zoomen en het beeld verplaatsen met behulp van de muis. Met het muiswiel kunt u in- en uitzoomen. Als u de &LMB; ingedrukt houdt kunt u de grafiek roteren (draaien) door de muis te verplaatsen.</para>

 <para
>Met de linker- en rechter pijltoets kunt u de grafiek roteren (draaien) om de z-as, met de op- en neer pijltjestoetsen roteert u de grafiek om de horizontale as.  Door op de knop  <keycap
>W</keycap
>  te drukken kunt u in de plot inzoomen, en op de knop <keycap
>S</keycap
> uitzoomen.</para>

<para
>In het menu <guimenu
>3D-grafiek</guimenu
> zijn deze opties:</para>
<itemizedlist>
<!-- not in master for 4.11
<listitem
><para
>Enable or disable transparency in the 3D graph menu</para
></listitem>
-->
<listitem
><para
>Grafiek (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) opslaan als afbeeldingsbestand</para
></listitem>
<listitem
><para
>Aanvankelijke zoom herstellen in het menu voor 3D-grafieken</para
></listitem>
<listitem
><para
>In het menu 3D-grafieken grafieken tekenen met stippels, streepjes of aaneengesloten lijnen</para
></listitem>
</itemizedlist>

<para
>Hierinder is een schermbeeld van de zogenaamde "sombrero"-functie.  In dit geval is de grafiek getekend met aaneengesloten lijnen voor 3D-grafieken. </para>

<screenshot>
<screeninfo
>Hier ziet u een schermbeeld van het 3D-venster van &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>3D-venster van &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

</chapter>

<chapter id="dictionary">
<title
>Woordenlijst</title>

<para
>De woordenlijst bevat een lijst van alle bewerkingen die in &kalgebra; mogelijk zijn. U kunt hierin vinden hoe u een bewerking kunt gebruiken en welke parameters een functie nodig heeft. Hierin kunt u de vele mogelijkheden van &kalgebra; ontdekken. </para>

 <para
>Hieronder is een schermbeeld van het opzoeken van de functie cosinus in de woordenlijst. </para>

<screenshot>
<screeninfo
>Hier ziet u een schermbeeld van de woordenlijst van &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Venster van de woordenlijst van &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</chapter>

&commands;

<chapter id="credits">
<title
>Dankbetuigingen en Licentie</title>

<itemizedlist>
<listitem
><para
>Programma copyright 2005-2009 &Aleix.Pol;</para>
</listitem>
</itemizedlist>

<para
>Documentatie copyright 2007 &Aleix.Pol; &Aleix.Pol.mail; </para>

&meld.fouten;&vertaling.jaap; 
&underFDL; &underGPL; </chapter>


<appendix id="installation">
<title
>Installatie</title>

<sect1 id="getting-kapptemplate">
<title
>Hoe u &kalgebra; kunt verkrijgen</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilatie en installatie</title>
&install.compile.documentation; </sect1>

</appendix>
&documentation.index;
</book>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
