<?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 % Spanish "INCLUDE">
]>

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

<bookinfo>
<title
>El manual de &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Leticia</firstname
><surname
>Martín Hernández</surname
><affiliation
><address
><email
>leticia.martin@gmail.com</email
></address
></affiliation
><contrib
>Traductor</contrib
></othercredit
><othercredit role="translator"
><firstname
>Eloy</firstname
><surname
>Cuadra</surname
><affiliation
><address
><email
>ecuadra@eloihr.net</email
></address
></affiliation
><contrib
>Traductor</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; es una aplicación que puede sustituir su calculadora gráfica. Posee funciones numéricas, lógicas, simbólicas y de análisis que le permiten calcular expresiones matemáticas en la consola y trazar gráficamente el resultado en 2D o 3D. &kalgebra; está arraigada al lenguaje de marcas matemáticas (MathML); no obstante, no es necesario saber MathML para usar &kalgebra;. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>gráfica</keyword>
<keyword
>matemáticas</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introducción</title>

<para
>&kalgebra; contiene numerosas funciones que permiten al usuario realizar todo tipo de operaciones matemáticas y mostrarlas gráficamente. Originalmente, este programa estaba orientado a MathML. En la actualidad lo puede usar cualquier persona con pocos conocimientos matemáticos para resolver problemas sencillos o avanzados. </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
>Incluye funcionalidades como las siguientes: </para>


<itemizedlist>
<listitem
><para
>Una consola de usuario para una fácil y rápida evaluación de funciones matemáticas. </para
></listitem>
<listitem
><para
>Posibilidad de usar guiones para series avanzadas de cálculos. </para
></listitem>
<listitem
><para
>Posibilidades lingüísticas, como la definición de funciones y la terminación automática. </para
></listitem>
<listitem
><para
>Funciones de cálculo, como la diferenciación simbólica, cálculo vectorial y manipulación de listas. </para
></listitem>
<listitem
><para
>Trazado de funciones con cursor activo para encontrar raíces gráficas y otros tipos de análisis. </para
></listitem>
<listitem
><para
>Trazado en 3D para la visualización útil de funciones en 3D. </para
></listitem>
<listitem
><para
>Un diccionario de operadores integrado para la rápida referencia de las diversas funciones disponibles. </para
></listitem>
</itemizedlist>

<para
>A continuación se muestra una imagen de la aplicación &kalgebra; en acción: </para>

<screenshot>
<screeninfo
>Aquí se muestra una captura de la ventana principal de &kalgebra;.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Ventana principal de &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>Cuando el usuario comienza una sesión con &kalgebra; se le muestra una única ventana que contiene cuatro pestañas: <guilabel
>Consola</guilabel
>, <guilabel
>Gráfica 2D</guilabel
>, <guilabel
>Gráfica 3D</guilabel
> y <guilabel
>Diccionario</guilabel
>. Dentro de estas pestañas encontrará un campo de entrada donde podrá introducir sus funciones o cálculos, y un campo de visualización que muestra el resultado. </para>

<para
>El usuario puede gestionar la sesión en cualquier momento con las opciones del menú principal <guilabel
>Sesión</guilabel
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenu
>Sesión</guimenu
><guimenuitem
>Nueva</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Abre una nueva ventana de &kalgebra;</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl;&Shift; <keycap
>F</keycap
></keycombo
></shortcut
> <guimenu
>Sesión</guimenu
><guimenuitem
>Modo de pantalla completa</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Conmuta el modo de pantalla completa para la ventana de &kalgebra;. El modo de pantalla completa también se puede activar o desactivar mediante el botón <inlinemediaobject
> <imageobject
> <imagedata fileref="view-fullscreen.png" format="PNG"/> </imageobject
> </inlinemediaobject
> situado en la parte superior derecha de la ventana de &kalgebra;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenu
>Sesión</guimenu
><guimenuitem
>Salir</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Cierra el programa.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="syntax">
<title
>Sintaxis</title>
<para
>&kalgebra; usa una sintaxis algebraica intuitiva para introducir las funciones del usuario de forma similar a la que usan la mayor parte de las calculadoras gráficas modernas. Esta sección lista las operaciones fundamentales que proporciona &kalgebra;. El autor de &kalgebra; ha modelado la sintaxis según <ulink url="http://maxima.sourceforge.net/"
>Maxima</ulink
> y <ulink url="http://www.maplesoft.com/products/maple/"
>maple</ulink
> para los usuarios que estén familiarizados con estos programas. </para>

<para
>Para los usuarios interesados en el funcionamiento interno de &kalgebra;, las funciones introducidas por el usuario se convierten a MathML en el motor. Un conocimiento rudimentario de las posibilidades proporcionadas por MathML le servirá de ayuda para revelar las funcionalidades internas de &kalgebra;. </para>

<para
>Aquí tiene una lista de los operadores disponibles hasta el momento:</para>
<itemizedlist>
<listitem
><para
>+ - * / : suma, resta, multiplicación y división.</para
> </listitem>
<listitem
><para
>^, ** : potencia, puede usar cualquiera de las dos formas. Asimismo, puede usar los caracteres unicode ². Las potencias son también una forma de expresar raíces, lo que puede hacer de la siguiente forma: a**(1/b).</para
></listitem>
<listitem
><para
>-&gt; : lambda. Es el modo de especificar una o más variables libres que estarán ligadas a una función. Por ejemplo, en la expresión <userinput
>length:=(x,y)->(x*x+y*y)^0.5</userinput
>, el operador lambda se usa para indicar que «x» e «y» estarán ligadas cuando se usa la función «length». </para
></listitem>
<listitem
><para
>x=a..b : se usa cuando necesitamos delimitar un intervalo (variable limitada + límite superior + límite inferior). Esto significa que «x» va de «a» a «b».</para
></listitem>
<listitem
><para
>() : se usa para especificar una prioridad mayor.</para
></listitem>
<listitem
><para
>abc(parámetros) : funciones. Cuando el analizador sintáctico encuentra una función, comprueba si «abc» es un operador. Si lo es, lo trata como un operador; si no lo es, lo trata como una función de usuario. </para
></listitem>
<listitem
><para
>:= : definición. Se usa para definir el valor de una variable. Puede escribir cosas como «x:=3, x:=y», donde «y» puede estar definido o no, o como «perímetro:=r->2*pi*r». </para
></listitem>
<listitem
><para
>? : definición de condiciones en funciones definidas a trozos («piecewise»). Permite definir operaciones condicionales en &kalgebra;. Dicho de otro modo, es otra forma de especificar una condición «if, elseif, else». Cuando introducimos la condición antes del símbolo «?», se utilizará dicha condición solo si es verdadera; en cambio, si encuentra un símbolo «?» sin ninguna condición, se tendrá en cuenta el último caso. Por ejemplo: piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{ } : contenedor MathML. Puede usarse para definir un contenedor. Es muy útil a la hora de trabajar con funciones definidas a trozos. </para
></listitem>
<listitem
><para
>= &gt; &gt;= &lt; &lt;= : operadores relacionales que indican «igual», «mayor», «mayor o igual», «menor» o «menor o igual», respectivamente.</para
></listitem>
</itemizedlist>

<para
>Ahora puede preguntarme por qué debería el usuario preocuparse por MathML. La respuesta es fácil. Con esto podremos realizar operaciones con funciones como cos(), sin() (o cualquier otra función trigonométrica), sum() o product(). No importa el tipo de función que sea. Podremos usar plus(), times() y cualquier cosa a la que le corresponda un operador. También se han implementado funciones lógicas, por lo que podremos hacer cosas como «or(1,0,0,0,0)». </para>

</chapter>

<chapter id="using-console">
<title
>Uso de la consola</title>
<para
>La consola de &kalgebra; es útil como una calculadora a lo grande. El usuario puede introducir expresiones a evaluar en los modos <guimenu
>Calcular</guimenu
> y <guimenu
>Evaluar</guimenu
>, según la selección del menú <guimenu
>Consola</guimenu
>. </para>
<para
>En el modo de evaluación, &kalgebra; simplifica la expresión incluso si se encuentra una variable indefinida. Cuando está en modo de cálculo, &kalgebra; calcula todo y si encuentra una variable indefinida muestra un error. </para>
<para
>Además de mostrar las ecuaciones introducidas por el usuario y el resultado en la pantalla de la consola, también se muestran todas las variables declaradas en un cuadro persistente en la parte de la derecha. Si hace doble clic sobre una variable se mostrará un diálogo que le permitirá modificar su valor (solo es un modo de engañar al registro). </para>

<para
>La variable «ans» es especial; cada vez que introduzca una expresión, la variable «ans» cambiará su valor al del último resultado. </para>

<para
>A continuación se muestran funciones de ejemplo que se pueden introducir en el campo de entrada de la ventana de la consola:</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
>A continuación se muestra una captura de la ventana de la consola tras introducir las expresiones de ejemplo anteriores: </para>
<screenshot>
<screeninfo
>Captura de la ventana de la consola de &kalgebra; con expresiones de ejemplo</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-console-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Ventana de la consola de &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


<para
>El usuario puede controlar la ejecución de una serie de cálculos usando las opciones del menú <guimenu
>Consola</guimenu
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Cargar guión</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Ejecuta las instrucciones de un archivo de forma secuencial. Es útil si desea definir bibliotecas o reanudar un trabajo anterior.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>G</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Guardar guión</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Guarda las intrucciones que ha introducido desde que comenzó la sesión, con lo que podrá reutilizarlas. Genera un archivo de texto que podrá corregir usando cualquier editor de texto, por ejemplo Kate.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Exportar registro</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Guarda el registro con todos los resultados en un archivo &HTML; que podrá imprimir o publicar.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>Gráficas 2D</title>
<para
>Para añadir un gráfica 2D en &kalgebra;, seleccione la pestaña <guilabel
>Gráfica 2D</guilabel
> y pulse la pestaña <guilabel
>Añadir</guilabel
>, que le permitirá añadir una nueva función. A continuación tendrá dirigirse al cuadro de texto de entrada, donde podrá introducir la función.</para>

<sect1 id="two-D-syntax">
<title
>Sintaxis</title>
<para
>Si quiere usar una función f(x) típica, no es necesario que la especifique; en cambio, si quiere usar una función f(y) o una función polar, tendrá que añadir y-&gt; y q-&gt; como variables limitadas.</para>

<para
>Ejemplos:</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
>Después de haber introducido la función, pulse el botón <guibutton
>Aceptar</guibutton
> para dibujar la gráfica en la ventana principal.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Características</title>
<para
>Es posible dibujar varias gráficas en la misma vista. Para esto use simplemente el botón <guilabel
>Añadir</guilabel
> cuando se encuentre en el modo Lista. Puede ajustar el color de cada gráfica.</para>

<para
>Puede ampliar la vista y desplazarla con el ratón. Con la rueda del ratón podrá ampliar o reducir la vista. Puede también seleccionar un área con el botón izquierdo, y el área se ampliará. Desplace la vista con las teclas de dirección. </para>

<note>
 <para
>La ventana de gráficos 2D se puede definir de manera explícita mediante la pestaña <guilabel
>Ventana</guilabel
> en una pestaña <guilabel
>Gráfico 2D</guilabel
>.</para>
</note>
 
<para
>En la pestaña <guilabel
>Lista</guilabel
>, puede abrir una pestaña de <guilabel
>Edición</guilabel
> para editar o eliminar una función mediante doble clic y poner o quitar la marca de la casilla de verificación situada junto al nombre de la función para mostrarla u ocultarla.</para>
<para
>En el menú <guimenu
>Gráfica 2D</guimenu
> dispone de las siguientes opciones:</para>
<itemizedlist>
<listitem
><para
>Mostrar u ocultar la rejilla.</para
></listitem>
<listitem
><para
>Mantener las proporciones mientras amplía o reduce la vista.</para
></listitem>
<listitem
><para
>Ampliar (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) y reducir (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>).</para
></listitem>
<listitem
><para
>Guardar (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) la gráfica como un archivo de imagen.</para
></listitem>
<listitem
><para
>Reiniciar la vista a la ampliación original.</para
></listitem>
<listitem
><para
>Seleccionar una resolución para las gráficas.</para
></listitem>
</itemizedlist>

<para
>A continuación se muestra una captura de pantalla de un usuario cuyo cursor está en la raíz del extremo derecho de la función, sen(1/x). El usuario ha utilizado una resolución muy alta para mostrar el grafo (ya que oscila al frecuencias muy altas cerca del origen). También dispone de la funcionalidad de cursor vivo, mediante la cual se muestran los valores «x» e «y» en la esquina inferior izquierda de la pantalla cada vez que mueva el cursor a un nuevo punto. Se traza una «línea tangente» viva sobre la función en la posición del cursor vivo. </para>

<screenshot>
<screeninfo
>Aquí se muestra una captura de la ventana gráfica 2D de &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Ventana gráfica 2D de &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>Gráficas 3D</title>

<para
>Para dibujar una grafica 3D con &kalgebra;, seleccione la pestaña <guilabel
>Gráfica 3D</guilabel
>, donde verá un campo de entrada en la parte inferior que le permitirá introducir la función. Aún no podrá definir «Z». Por ahora, &kalgebra; solo admite gráficas 3D que dependen de «x» e «y», como (x,y)->x*y, donde z=x*y. </para>

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

<para
>Puede ampliar o reducir la vista con el ratón. Use la rueda del ratón para ampliarla o reducirla. Si mantiene pulsado el &LMB; y se desplaza con el ratón, la gráfica rotará.</para>

<!--FIXME BUG:321686 it is not possible to do use keys
<para
>The left and right arrow keys rotate the graph around the z axis, the up and down arrow keys rotate around the horizontal axis of the view.</para>
 -->
<para
>En el menú <guimenu
>Gráfica 3D</guimenu
> dispone de las siguientes opciones:</para>
<itemizedlist>
<!-- not in master for 4.11
<listitem
><para
>Enable or disable transparency in the 3D graph menu</para
></listitem>
-->
<listitem
><para
>Guardar (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) la gráfica como un archivo de imagen.</para
></listitem>
<listitem
><para
>Reiniciar la vista a la ampliación original en el menú de gráficos 3D</para
></listitem>
<listitem
><para
>Puede dibujar la gráfica con puntos, con líneas o con una línea sólida en el menú de gráficos 3D</para
></listitem>
</itemizedlist>

<para
>A continuación se muestra una captura de la función denominada «sombrero». Esta gráfica particular se muestra usando el estilo 3D. </para>

<screenshot>
<screeninfo
>Aquí se muestra una captura de la ventana gráfica 3D de &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Ventana gráfica 3D de &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

</chapter>

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

<para
>El diccionario proporciona una lista de todas las funciones integradas en &kalgebra;. Se puede usar para encontrar la definición de una operación y sus parámetros de entrada. Es un lugar útil para encontrar las muchas funcionalidades que posee &kalgebra;. </para>

 <para
>A continuación se muestra una captura de la ventana de la búsqueda de la función coseno en el diccionario de &kalgebra;. </para>

<screenshot>
<screeninfo
>Aquí se muestra una captura de la ventana del diccionario de &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Ventana del diccionario de &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>


</chapter>

&commands;

<chapter id="credits">
<title
>Créditos y licencia</title>

<itemizedlist>
<listitem
><para
>Derechos de autor del programa 2005-2009 &Aleix.Pol;.</para>
</listitem>
</itemizedlist>

<para
>Derechos de autor de la documentación 2007 &Aleix.Pol; &Aleix.Pol.mail;. </para>

<para
>Traducido por Leticia Martín Hernández <email
>leticia.martin@gmail.com</email
> y Eloy Cuadra <email
>ecuadra@eloihr.net</email
>.</para
> 
&underFDL; &underGPL; </chapter>


<appendix id="installation">
<title
>Instalación</title>

<sect1 id="getting-kapptemplate">
<title
>Cómo obtener &kalgebra;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilación e instalación</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:
-->
