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

  <!ENTITY commands SYSTEM "commands.docbook">

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

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

<bookinfo>
<title
>Handbok &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
<othercredit role="translator"
> <firstname
>Stefan</firstname
> <surname
>Asserhäll</surname
> <affiliation
><address
><email
>stefan.asserhall@comhem.se</email
></address
></affiliation
> <contrib
>Översättare</contrib
></othercredit
> 
</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; är ett program som kan ersätta en grafisk miniräknare. Det har numeriska, logiska, symboliska och analytiska funktioner som gör det möjligt att beräkna matematiska uttryck i terminalen och rita upp resultatet grafiskt i två eller tre dimensioner. &kalgebra; är grundat på det matematiska taggspråket (MathML), men man behöver dock inte känna till MathML för att använda &kalgebra;. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>graf</keyword>
<keyword
>matematik</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

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

<para
>&kalgebra; har en mängd funktioner som låter användare utföra alla sorters matematiska operationer och visa dem grafiskt. Tidigare var programmet grundat på MathML, men nu kan det användas av vem som helst med en viss kunskap om matematik för att lösa likväl enkla som avancerade problem. </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
>Det innehåller funktioner som: </para>


<itemizedlist>
<listitem
><para
>En användarterminal för snabb och enkel utvärdering av matematiska funktioner. </para
></listitem>
<listitem
><para
>Skriptmöjligheter för avancerade beräkningsserier. </para
></listitem>
<listitem
><para
>Språkmöjligheter inklusive funktionsdefinitioner och automatisk komplettering av syntax. </para
></listitem>
<listitem
><para
>Analytiska funktioner inklusive symbolisk derivering, vektoranalys och listhantering. </para
></listitem>
<listitem
><para
>Uppritning av funktioner med rörlig markör för grafisk rotsökning och andra typer av analys. </para
></listitem>
<listitem
><para
>Tredimensionell uppritning för användbar återgivning av tredimensionella funktioner. </para
></listitem>
<listitem
><para
>Ett inbyggt lexikon med operatorer för snabb referens till de många tillgängliga funktionerna. </para
></listitem>
</itemizedlist>

<para
>Här är en skärmbild av programmet &kalgebra; i arbete: </para>

<screenshot>
<screeninfo
>Här är en skärmbild av huvudfönstret i &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Huvudfönstret i &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>När användaren påbörjar en session i &kalgebra;, visas ett enda fönster som består av fliken <guilabel
>Terminal</guilabel
>, en flik med ett <guilabel
>tvådimensionellt diagram</guilabel
>, en flik med ett <guilabel
>tredimensionellt diagram</guilabel
>, och fliken <guilabel
>Lexikon</guilabel
>. I varje flik finns ett inmatningsfält för att mata in funktioner eller beräkningar, och ett visningsfält som visar resultaten. </para>

<para
>Användaren kan när som helst hantera sessioner med alternativen i huvudmenyn <guilabel
>Session</guilabel
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenu
>Session</guimenu
><guimenuitem
>Ny</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Öppnar ett nytt fönster i &kalgebra;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl;&Shift; <keycap
>F</keycap
></keycombo
></shortcut
> <guimenu
>Session</guimenu
><guimenuitem
>Fullskärmsläge</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Ändra fullskärmsläge fönstret i &kalgebra;. Fullskärmsläge kan också sättas på eller stängas av genom att använda knappen <inlinemediaobject
> <imageobject
> <imagedata fileref="view-fullscreen.png" format="PNG"/> </imageobject
> </inlinemediaobject
> längst upp till höger i &kalgebra;s fönster.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenu
>Session</guimenu
><guimenuitem
>Avsluta</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Stänger av programmet.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="syntax">
<title
>Syntax</title>
<para
>&kalgebra; använder intuitiv algebraisk syntax för att mata in användarfunktioner, som liknar det som används av de flesta moderna grafiska miniräknare. Det här avsnittet listar de grundläggande inbyggda operatorer som är tillgängliga i &kalgebra;. Upphovsmannen till &kalgebra; modellerade syntaxen efter <ulink url="http://maxima.sourceforge.net/"
>Maxima</ulink
> och <ulink url="http://www.maplesoft.com/products/maple/"
>maple</ulink
> för användare som eventuellt är bekanta med dessa program. </para>

<para
>För användare som är intresserade av hur &kalgebra; fungerar internt, konverteras uttryck som matas in av användare till MathML i bakgrunden. En rudimentär förståelse av möjligheterna i MathML räcker långt för att avslöja de interna möjligheterna i &kalgebra;. </para>

<para
>Här är en lista av operatorer vi har sett nu:</para>
<itemizedlist>
<listitem
><para
>+ - * / : Addition, subtraktion, multiplikation och division.</para
> </listitem>
<listitem
><para
>^, **: Upphöjt till, där endera formen kan användas. Dessutom är det möjligt att använda Unicode-tecknet ². Upphöjt till är också ett sätt att skriva rötter. Det kan göras som a**(1/b).</para
></listitem>
<listitem
><para
>-&gt; : lambda. Detta är sättet en eller flera oberoende variabler anges som ska kopplas till en funktion. Exempelvis används lambda operatorn för att ange att x och y kopplas när funktionen length används i uttycket <userinput
>length:=(x,y)->(x*x+y*y)^0.5</userinput
>. </para
></listitem>
<listitem
><para
>x=a..b : Detta används när man behöver begränsa ett intervall (begränsad variabel+övre gräns+undre gräns). Det betyder att x går från a till b.</para
></listitem>
<listitem
><para
>() : Används för att ange högre prioritet.</para
></listitem>
<listitem
><para
>abc(parametrar) : Funktioner. När tolken hittar en funktion, kontrolleras om abc är en operator. Om den är det, behandlas den som en operator. Om den inte är det, behandlas den som en användarfunktion.</para
></listitem>
<listitem
><para
>:= : Definition. Det används för att definiera ett variabelvärde. Man kan skriva uttryck som x:=3, x:=y (vare sig y är definierad eller inte), omkrets:=r->2*pi*r. </para
></listitem>
<listitem
><para
>? : Villkorsdefinition del för del. Vi kan definiera villkorsoperationer i &kalgebra; del för del. Med andra ord, är det ett sätt att ange villkoren om, annars om och annars. Om villkoret anges före '?' används uttrycket bara om det är sant. Om ett '?' utan något villkor hittas, används den sista instansen. Till exempel: piecewise { eq (x,0) ? 0, eq(x,1) ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{ } : MathML-omgivning. Den kan användas för att definiera en omgivning. I huvudsak användbar för att arbeta del för del. </para
></listitem>
<listitem
><para
>= &gt; &gt;= &lt; &lt;= : Jämförelse av värden för respektive lika med, större än, större än eller lika med, mindre än, mindre än eller lika med</para
></listitem>
</itemizedlist>

<para
>Nu kan man ställa sig frågan varför användaren ska bry sig om MathML? Det är enkelt. Med det kan man utnyttja funktioner som cos(), sin() och övriga trigonometriska funktioner, sum() eller product(). Det spelar ingen roll vilken sort den är Man kan använda plus(), times() och allt som har en operator. Booleska funktioner är också implementerade, så man kan exempelvis skriva något som liknar or(1,0,0,0,0).</para>

</chapter>

<chapter id="using-console">
<title
>Använda terminalen</title>
<para
>&kalgebra;s terminal är användbar som en miniräknare med superstyrka. Användaren kan skriva in uttryck att utvärdera med inställningarna <guimenu
>Beräkna</guimenu
> eller <guimenu
>Utvärdera</guimenu
>, beroende på menyvalet <guimenu
>Terminal</guimenu
>. </para>
<para
>I utvärderingsläge förenklar &kalgebra; uttrycket även när det ser en odefinierad variabel. I beräkningsläge beräknar &kalgebra; allting, och om en odefinierad variabel påträffas, visas ett fel. </para>
<para
>Förutom att visa ekvationerna som användaren matat in och resultaten i terminalen, visas alla variabler som är deklarerade i en bestående ram till höger. Genom att dubbelklicka på en variabel visas en dialogruta som låter dig ändra värdena (bara ett sätt att gå runt loggen). </para>

<para
>Variabeln "ans" är speciell. Varje gång ett uttryck skrivs in kommer variabeln "ans" värde att ändras till det senaste resultatet. </para>

<para
>Det följande är exempelfunktioner som kan matas in i inmatningsfältet på terminalfönstret:</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
>Det följande visar en skärmbild av terminalfönstret efter att de ovanstående exempeluttrycken har matats in: </para>
<screenshot>
<screeninfo
>Skärmbild av &kalgebra;s terminalfönster med exempel på uttryck</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-console-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Terminalfönstret i &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


<para
>En användare kan styra hur en serie beräkningar utförs med alternativen i menyn <guimenu
>Terminal</guimenu
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenu
>Terminal</guimenu
><guimenuitem
>Ladda skript</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Kör instruktioner i en fil i tur och ordning. Användbart om man vill definiera några bibliotek eller återuppta något tidigare arbete.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>G</keycap
></keycombo
></shortcut
> <guimenu
>Terminal</guimenu
><guimenuitem
>Spara skript</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sparar instruktionerna som har skrivits in sedan sessionen påbörjades, för att kunna återanvända dem. Skapar textfiler, som bör vara enkla att ändra med vilken texteditor som helst, såsom Kate.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenu
>Terminal</guimenu
><guimenuitem
>Exportera logg</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sparar loggen med alla resultat i en &HTML;-fil, för att kunna skriva ut dem eller publicera dem.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>Tvådimensionella diagram</title>
<para
>För att lägga till en ny tvådimensionell graf i &kalgebra;, välj den tvådimensionella fliken och klicka på fliken <guilabel
>Lägg till</guilabel
> för att lägga till en ny funktion. Då ges fokus till en textruta för inmatning där funktionen kan skrivas in.</para>

<sect1 id="two-D-syntax">
<title
>Syntax</title>
<para
>Om en typisk f(x)-funktion ska användas, är det inte nödvändigt att ange det, men om en f(y)-funktion eller polär funktion önskas, måste y-&gt; och q-&gt; anges som bundna variabler.</para>

<para
>Exempel:</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
>Om du har skrivit in funktionen, klicka på knappen <guibutton
>Ok</guibutton
> för att visa grafen i huvudfönstret.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Funktioner</title>
<para
>Flera grafer kan visas i samma diagram. Använd bara knappen <guilabel
>Lägg till</guilabel
> i listläge. Varje graf kan få en egen färg.</para>

<para
>Vyn kan zoomas och flyttas med musen. Genom att använda mushjulet kan man zooma in eller ut. Man kan också markera ett område med musens vänsterknapp, så zoomas området in. Flytta vyn med piltangenterna.</para>

<note>
 <para
>Vyn för tvådimensionellt diagram kan definieras explicit genom att använda fliken <guilabel
>Vy</guilabel
> under någon av flikarna <guilabel
>Tredimensionellt diagram</guilabel
>.</para>
</note>
 
<para
>Under fliken <guilabel
>Lista</guilabel
> kan en flik benämnd <guilabel
>Redigering</guilabel
> öppnas med ett dubbelklick för att redigera eller ta bort en funktion, samt  visa eller dölja den genom att markera eller avmarkera kryssrutan intill funktionen.</para>
<para
>I menyn <guimenu
>Tvådimensionellt diagram</guimenu
> hittar du följande alternativ:</para>
<itemizedlist>
<listitem
><para
>Visa eller dölj rutnät</para
></listitem>
<listitem
><para
>Behåll proportion vid zoomning</para
></listitem>
<listitem
><para
>Zooma in (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) och zooma ut (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>)</para
></listitem>
<listitem
><para
>Spara (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>)  grafen som en bildfil</para
></listitem>
<listitem
><para
>Återställ vyn till ursprunglig zoomning</para
></listitem>
<listitem
><para
>Välj en upplösning för diagrammen</para
></listitem>
</itemizedlist>

<para
>Nedan är en skärmbild av en användare vars markör är vid roten längst till höger för funktionen sin(1/x). Användaren som ritade upp den använde mycket hög upplösning för att skapa grafen (eftersom den oscillerar med allt högre frekvens nära origo). Det finns också en rörlig markörfunktion som visar x och y värden längst ner till vänster på skärmen när markören hålls över en punkt. En rörlig "tangentlinje" ritas vid funktionen på platsen för den rörliga markören. </para>

<screenshot>
<screeninfo
>Här är en skärmbild av fönstret för tvådimensionella diagram i &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Fönstret för tvådimensionella diagram i &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>Tredimensionella diagram</title>

<para
>För att rita en tredimensionell graf i &kalgebra;, välj fliken <guilabel
>Tredimensionellt diagram</guilabel
>. Längst ner finns ett inmatningsfält där funktionen kan skrivas in. Z kan ännu inte definieras. För närvarande stöder &kalgebra; bara tredimensionella diagram som bara beror explicit på x och y, såsom (x,y)->x*y, där z=x*y. </para>

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

<para
>Vyn kan zoomas och flyttas med musen. Genom att använda mushjulet kan man zooma in eller ut. Håll nere vänster musknapp och flytta musen för att rotera diagrammet.</para>

 <para
>Vänster och höger piltangenter roterar diagrammet omkring Z-axeln, medan uppåt- och neråttangenterna roterar omkring vyns horisontella axel. Tryck på <keycap
>W</keycap
> för att zooma in i diagrammet och <keycap
>S</keycap
> för att zooma ut.</para>

<para
>I menyn <guimenu
>Tredimensionellt diagram</guimenu
> hittar du följande alternativ:</para>
<itemizedlist>
<!-- not in master for 4.11
<listitem
><para
>Enable or disable transparency in the 3D graph menu</para
></listitem>
-->
<listitem
><para
>Spara (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>)  grafen som en bildfil</para
></listitem>
<listitem
><para
>Återställ vyn till ursprunglig zoomning i menyn för tredimensionella diagram</para
></listitem>
<listitem
><para
>Du kan rita diagrammet med punkter, linjer eller ytor i menyn för tredimensionella diagram</para
></listitem>
</itemizedlist>

<para
>Nedan finns en skärmbild av den så kallade "sombrero-funktionen". Just den här grafen visas med linjestil i det tredimensionella diagrammet. </para>

<screenshot>
<screeninfo
>Här är en skärmbild av fönstret för tredimensionella diagram i &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Fönstret för tredimensionella diagram i &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

</chapter>

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

<para
>Lexikonet är en samling av alla inbyggda funktioner i &kalgebra;. Det kan vara användbart för att hitta definitionen av en operation och dess inparametrar. Det är en användbar plats för att få reda på de många möjligheterna i &kalgebra;. </para>

 <para
>Nedan visas en skärmbild av uppslagning av funktionen cosinus i &kalgebra;s lexikon. </para>

<screenshot>
<screeninfo
>Här är en skärmbild av lexikonfönstret i &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Lexikonfönstret i &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</chapter>

&commands;

<chapter id="credits">
<title
>Tack till och licens</title>

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

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

<para
>Översättning Stefan Asserhäll <email
>stefan.asserhall@bredband.net</email
></para
> 
&underFDL; &underGPL; </chapter>


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

<sect1 id="getting-kapptemplate">
<title
>Hur man skaffar &kalgebra;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Kompilering och installation</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:
-->
