Disponible Carmetal 3.5.2 En Ubuntu Lucid

0 comments

Posted on 27th abril 2010 by Tobal in Matemáticas |Ubuntu

,

Hola, tras varias peleas con la máquina virtual de Launchpad para construir el paquete deb ya tenéis disponible la nueva versión de Carmetal. En esta versión, en lo que respecta a mi, he cambiado el compilador de java llamado ant de la versión 1.7 a la versión 1.8 para obtener mayor compatibilidad con las fuentes del programa.

En cuanto a novedades del programa trae bastantes y llamativas nada más abrirlo. Ahora presenta una interfaz de pestañas, con la cual podremos dibujar simultáneamente distintas figuras en diversas pestañas, la verdad que esto lo veo muy útil. También nos aparecen 4 nuevos botones en la parte superior derecha del lienzo de dibujar, para poder ver y/o ocultar los diferentes paneles del programa. Todas estas mejoras van enfocadas hacia la nueva versión del programa, la 3.6, que supongo no tardará mucho en salir.

Para instalarlo sólo añadid mi repositorio de Launchpad, si no lo habéis hecho ya, e instaladlo desde Synaptic. Para ejecutarlo se encuentra en Aplicaciones->Educación.

Os dejo un enlace de una demostración del programa construyendo las tangentes de la función exponencial, PINCHAD AQUÍ.

Saludos :-)

Programación Lineal Con Python

4 comments

Posted on 20th abril 2010 by Tobal in Linux |Matemáticas |Programación |Python |Ubuntu

, , ,

Hola, en Python hay diversidad de librerías para hacer programación lineal tanto la normal como la entera. En esta ocasión os voy ha hablar de PyMathPrpog, unas librerías basadas en Glpk y PyGlpk con las cuales podemos calcular nuestros problemas en métodos como el Simplex, Exacto e Interior; o Plain y Avanzado si lo que buscamos son soluciones enteras. También podemos obtener un informe detallado de nuestra solución, las primales, las primales factibles, las duales, etc. y todo ello de forma sencilla. Esta librería no se encuentra (que yo sepa) en los repositorios oficiales de Ubuntu, pero bueno si añades mi repositorio de Launchpad la puedes instalar bajo el nombre de python-mathprog. Supongamos que queremos solucionar el siguiente problema:
Max: z=10x+6y+4z
s.a.  \begin{cases}        x+y+z \le 100 \\   10x+4y+5z \le 600 \\ 2x+2y+6y \le 300 \\ x,y,z \ge 0     \end{cases}

El código en Python usando estas librerías es el siguiente:

from pymprog import *  # Importar el modulo
# indices y datos
xid, rid = range(3), range(3)
c = (10.0, 6.0, 4.0)
mat = [ (1.0, 1.0, 1.0),
        (10.0, 4.0, 5.0),
        (2.0, 2.0, 6.0)]
b = (100.0, 600.0, 300.0)
#definicion del problema
beginModel('basic')   #Lo definimos como basico
verbose(True)
x = var(xid, 'X') #crear variables
maximize( #funcion objetivo
  sum(c[i]*x[i] for i in xid), 'miobjetivo'
)
r=st( #Conjunto de restricciones
  sum(x[j]*mat[i][j] for j in xid) <= b[i] for i in rid
)
solve() #Solucion e Informe
print "Estado Solucionador:", status()
print 'Z = %g;' % vobj()  # Valor funcion Objetivo
#Impresion de nombre de las variables y las primales
print ';\n'.join('%s = %g {dual: %g}' % (
   x[i].name, x[i].primal, x[i].dual)
                    for i in xid)
print ';\n'.join('%s = %g {dual: %g}' % (
   r[i].name, r[i].primal, r[i].dual)
                    for i in rid)

print reportKKT()
print "Environment:", env
for pn in dir(env):
    if pn[:2]=='__'==pn[-2:]: continue
    print pn, getattr(env, pn)

print ' '
print evaluate(sum(x[i]*(i+x[i])**2 for i in xid))
print sum(x[i].primal*(i+x[i].primal)**2 for i in xid)
endModel() #Finalizar el Modelo

Y la solución por terminal es:


MAX 'miobjetivo': 10 X[0]+ 6 X[1]+ 4 X[2]
s.t. R0[0]: X[0]+ X[1]+ X[2] <= 100.0
s.t. R0[1]: 10 X[0]+ 4 X[1]+ 5 X[2] <= 600.0
s.t. R0[2]: 2 X[0]+ 2 X[1]+ 6 X[2] <= 300.0
Estado Solucionador: opt
Z = 733.333;
X[0] = 33.3333 {dual: 0};
X[1] = 66.6667 {dual: 0};
X[2] = 0 {dual: -2.66667}
R0[0] = 100 {dual: 3.33333};
R0[1] = 600 {dual: 0.666667};
R0[2] = 200 {dual: 0}

Karush-Kuhn-Tucker optimality conditions:
=========================================

1) Error in Primal Solutions:
-----------------------------
Largest absolute error: 0.000000 (row id: 1)
Largest relative error: 0.000000 (row id: 1)
Quality of primal solution: H

2) Error in Satisfying Primal Bounds:
-------------------------------------
Largest absolute error: 0.000000 (var id: 0)
Largest relative error: 0.000000 (var id: 0)
Quality of primal feasibility: H

3) Error in Dual Solutions:
-----------------------------
Largest absolute error: 0.000000 (col id: 0)
Largest relative error: 0.000000 (col id: 0)
Quality of dual solution: H

4) Error in Satisfying Dual Bounds:
-------------------------------------
Largest absolute error: 0.000000 (var id: 0)
Largest relative error: 0.000000 (var id: 0)
Quality of dual feasibility: H

Environment:
blocks 45
blocks_peak 72
bytes 27508
bytes_peak 28998
mem_limit None
term_hook None
term_on True
version (4, 38)

342288.888889
342288.888889


Como vemos en la salida por terminal obtenemos un informe muy detallado de la solución y sus posibles soluciones.
Obviamente al ser este ejemplo de 3 variables no es factible dibujar su región, al igual que no lo son la mayoría de estos problemas. Tan sólo son posibles sus soluciones gráficas para problemas de 2 variables, que se dan mayoritariamente en Bachiller. A mi estas librerías me parecen una buena alternativa al programa no libre LINGO. Me queda pendiente verlo con python-cvxopt, pero eso os lo cuento otro día ;-)

Saludos :-)

Instala Los Temas De Ubuntu Lucid En Mandriva

2 comments

Posted on 18th abril 2010 by Tobal in Mandriva

Hola :-) Si eres usuario de Mandriva con Gnome y te gustan los 2 nuevos temas de escritorio de Ubuntu Lucid junto con sus iconos o el notificador de escritorio, ahora lo tienes muy fácil de instalar, ya que me he decidido a empaquetarlos y subirlos al MIB. Para instalarlos es muy fácil, añade los repositorios del MIB si no lo has hecho ya e instala el siguiente metapaquete:

su -
urpmi task-ubuntu-lucid-gnome-themes

Eso es todo. Ahora para activar los temas es muy sencillo, los encontraréis en la sección Apariencia bajo los nombres de Ambiance y Radiance. Elegid el que más os guste. Si al activarlos por primera vez se ve feo no pasa nada, reiniciad sesión y todo bonito ;-)

Al instalar el metapaquete se os habrá instalado también un plugin de Rhythmbox para poder tener visible la portada del disco que estéis escuchando al momento en vuestro escritorio. Para activarlo id a la sección Plugins de Rhythmbox y activadlo. Para verlo bien este plugin requiere que tengáis activado Metacity o Compiz.

En los temas de Ubuntu se ha adaptado el logo de Ubuntu al de Mandriva, gracias a Cristina del MIB :-) Os pongo un par de pantallazos:

Por cierto, no es mi intención entrar en polémicas de niñatos malcriados sobre la decisión de instalar temas de Ubuntu en Mandriva, yo sólo pienso que estos temas me gustan, que hay gente a la que le gusten los temas y les cueste instalalrlos, así que me ofrezco a facilitarles las cosas. Además una vez rulando no se ve ningún logo de Ubuntu, sólo los de Mandriva, lo digo por los puristas :-D

Saludos :-)

Carmetal 3.1.1 Para Ubuntu Lucid

0 comments

Posted on 15th abril 2010 by Tobal in Linux |Matemáticas |Ubuntu

, ,

Hola, siguiendo con la dinámica de que la gente pueda tener en Ubuntu programas matemáticos actualizados mediante mi repositorio de Launchpad he empaquetado esta última versión de Carmetal un magnífico programa para construir complejas figuras geométricas de una forma sencilla. Muy buen programa para ser utilizado en escuelas de secundaria y en universidades.

Para instalarlo en Ubuntu Lucid tan sólo añadir mi repositorio e instalar:

sudo su

add-apt-repository ppa:lopeztobal/maths

apt-get update

apt-get install carmetal

El paquete se puede instalar igualmente en versiones anteriores de Ubuntu, en Debian, Linux Mint, LliureX o Guadalinex siempre y cuando tengan en sus repositorios la versión 6 de java, ya sea la de Sun o la libre. Como no podréis añadir el repositorio os habilito un enlace directo de descarga:

El paquete esta hecho compilando las fuentes del programa en Java, no es un empaquetamiento  desde un precompilado, de esa forma nos aseguramos una mayor adaptación al sistema.

Saludos :-)

Nicotine+ 1.2.15 Para Ubuntu Y Mandriva

7 comments

Posted on 14th abril 2010 by Tobal in Mandriva |Ubuntu

,

Hola :-) Bueno pues ahí va para todos vosotros la nueva versión de Nicotine+, el Soulseek linuxero. Para quienes no lo sepan todavía Nicotine es un programa que se sirve de los servidores de Soulseek para que la gente pueda compartir todo tipo de música de forma directa. Puedes compartir música con tus amigos o con los que tengas en el servidor. Es una especie de P2P directo. Lo uso mucho para encontrar aquello que no hay ni entiendas, o para buscar bootlegs y rarezas varias.

En esta nueva versión se ha arreglado el problema de su buscador, además han creado un asistente de configuración del programa muy sencillo y útil.

Para instalarlo en Ubuntu Lucid añadid mi repositorio de Launchpad:


sudo -su
add-apt-repository ppa:lopeztobal/maths
apt-get update
apt-get install nicotine

Para Mandriva lo hemos empaquetado en los repositorios del MIB para Mandriva 2010.0 y 2009.1 en 64 y 32 bits.
Para ejecutarlo se encuentra en Aplicaciones->Internet->Nicotine-Plus
Un pantallazo

Saludos :-)

Page 1 of 3123
Rss Feed Tweeter button Facebook button Technorati button Reddit button Myspace button Linkedin button Webonews button Delicious button Digg button Flickr button Stumbleupon button Newsvine button Youtube button