1.2.0 instable

Nouveautes concernant Xcas.
News about Xcas

Modérateur : xcasadmin

Répondre
parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

1.2.0 instable

Message par parisse » ven. avr. 03, 2015 3:00 pm

J'ai mis en ligne la toute premiere version des 1.2.0. Les packages debian sont pour le moment compiles a l'identique des 1.1.4, mais sur les conseils de Frederic Han, je compte les compiler sur des VM en debian 7 (ca semble donner des paquets installables sur ubuntu).
La principale nouveaute introduite en 1.2 sera les matrices creuses. Elles seront stockees dans des objets de type "table" de Xcas. Pour initialiser une matrice creuse vide, on tape simplement A:=table(). On peut convertir une matrice dense a en creuse par table(a) et reciproquement par matrix(A). On peut affecter des elements avec la notation habituelle par exemple A[1,2]:=3. On peut faire + - * avec des matrices creuses ou denses et des vecteurs (tout ca est encore surement assez bugge). A terme, on pourra faire de la decomposition lu, resoudre des systemes lineaires creux.
Une nouvelle notation est creee pour affecter en une seule fois un morceau de ligne, de colonne ou de diagonale d'une matrice (dense ou creuse).
Par exemple
A[1..3,1]:=5 met des 5 dans la colonne d'indice 1 de A pour les lignes 1 a 3.
A[1..3,2..4]:=[1,2,3] remplit un morceau de diagonale de A avec 1, 2 et 3.

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » mer. avr. 08, 2015 9:31 am

Mise a jour, cette fois-ci les packages debian (dans testing) sont faits avec une debian 7.8 (i386 et amd64).

Nouvelles commandes:
* jacobi_linsolve(A,b,eps[,maxiter]) et gauss_seidel_linsolve([omega=1,]A,b,eps[,maxiter])
Resolution d'un systeme lineaire de matrice A, second membre b, par une methode iterative (Jacobi pour le 1er cas, Gauss-Seidel ou relaxation dans le second cas), avec une tolerance de eps et un nombre maximal d'iterations de maxiter
Exemples
a:=[[100,2],[2,100]]; linsolve(evalf(a),[0,1]);jacobi_linsolve(a,[0,1],1e-12);jacobi_linsolve(table(a),[0,1],1e-12);
a:=[[100,2],[2,100]]; linsolve(evalf(a),[0,1]);gauss_seidel_linsolve(1.5,a,[0,1],1e-12);gauss_seidel_linsolve(1.5,table(a),[0,1],1e-12);
C'est evidemment interessant surtout en grande dimension
n:=200; purge(A); A[0..n-1,0..n-1]:=2:; A[0..n-2,1..n-1]:=-1:; A[1..n-1,0..n-2]:=-1:; b:=[1$n]:; a:=matrix(A):; linsolve(a,b); a:=evalf(a); linsolve(a,b); gauss_seidel_linsolve(1.98,A,b,1e-8,4*n*n);
* linspace(start,stop[,n]) (commande compatible scilab) genere une liste de n elements regulierement espaces entre start et stop, par exemple linspace(0,1,11), par defaut n=100.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.0 instable

Message par frederic han » mer. avr. 08, 2015 7:10 pm

Mon apt-get update puis apt-get install ne le trouve pas (peut etre qu'il cherche le Packages non compresse)

Aussi tu as mis la nouvelle version i386 dans le dossier amd64.

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » jeu. avr. 09, 2015 7:24 am

Les deux problemes avaient la meme cause, ca devrait etre ok maintenant.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.0 instable

Message par frederic han » jeu. avr. 09, 2015 8:30 am

Salut, j'ai fait quelques essais courts sur differentes distrib.

1) Sur la clef agreg (debian stable) pas de problemes mais 2 dependances suplementaires par rapport a avant: mpfi et ntl
2) Le paquet marche tel quel qur ubuntu 14.04
3) Sur debian Jessie le paquet pour la libntl ne s'appelle pas pareil: libntl5 et fournit une librairie libntl.so.5 alors que ton paquet demande une libntl0. C'est peut etre plus prudent de compiler avec ntl en statique comme avant? (bien que en faisant un lien de libntl.so.5 vers libntl.so.0 j'arrive a lancer xcas et a factoriser de gros polynomes multivariables)

4) Sur ubuntu 12.04 j'ai le meme probleme que sur jessie pour ntl plus le message:
libfontconfig1 (>=2.9.0) mais 2.8.0... devra etre installee.
Si je force ces 2 trucs j'arrive a lancer xcas.

Je n'ai pas encore essayer de compiler avec ce paquet.

Fred

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » jeu. avr. 09, 2015 11:05 am

Bon, du coup j'ai refait les packages debian avec NTL compile en statique, la version 9 semble passer sans aucun changement.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 1.2.0 instable

Message par frederic han » ven. avr. 10, 2015 9:42 am

Donc cette fois les paquets marchent tels quels pour moi sur
debian stable et debian jessie
et ubuntu 14.04.

a noter que ton paquet i386 est un vieux paquet du 3/4:
http://www-fourier.ujf-grenoble.fr/~par ... 1_i386.deb

alors que le dossier amd64 contient un paquet i386 du 9/4

http://www-fourier.ujf-grenoble.fr/~par ... 1_i386.deb

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » ven. avr. 10, 2015 2:47 pm

je vais finir par y arriver!

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » mar. avr. 21, 2015 11:07 am

Je viens de creer une nouvelle version a tester pour *mac os x.10*
http://www-fourier.ujf-grenoble.fr/~par ... ble.dmg.gz
La taille est reduite parce qu'il s'agit de binaires x64 uniquement, et parce que xcas est lie dynamiquement.
Xcas est compile avec clang au lieu de gcc.
Le mot de passe est demande, je ne sais pas trop pourquoi (?)

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: 1.2.0 instable

Message par parisse » jeu. avr. 23, 2015 1:37 pm

Mise a jour de l'image os x.10, la precedente ne marchait sans doute pas.

Répondre