Le forum de XCAS

Xcas: un logiciel libre de calcul formel
Nous sommes actuellement le Lun Déc 11, 2017 7:05 pm

Heures au format UTC




Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 
Auteur Message
 Sujet du message: giacpy Pypi windows
MessagePublié: Jeu Aoû 31, 2017 12:30 pm 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 1022
Localisation: Paris
J'ai mis des distributions binaires de giacpy pour windows sur Pypi https://pypi.python.org/pypi
(Elles sont compilées avec gmp,mpfr,gsl,ntl,pari)

Donc sous windows si vous avez python 2.7, 3.4,3.5,3.6 en 32 ou 64 bits, il devrait suffire de faire dans un terminal:

Code:
python.exe -mpip install giacpy

(si vous n'avez pas le module wheel il faut faire avant:
Code:
python.exe -mpip install wheel


Haut
 Profil  
 
 Sujet du message: Re: giacpy Pypi windows
MessagePublié: Ven Sep 01, 2017 6:23 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4153
Je n'ai pas reussi avec python 2.7.5 sous windows7 64 bits:
Could not find any download that satisfy the requirement giacpy


Haut
 Profil  
 
 Sujet du message: Re: giacpy Pypi windows
MessagePublié: Ven Sep 01, 2017 9:55 pm 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 1022
Localisation: Paris
Sous Win7 avec python3.4 j'ai eu un message similaire, avec aussi un message qu'il existait pip 9 et que j'avais la version 6. J'ai mis à jour pip et j'ai ensuite pu installer giacpy.


Haut
 Profil  
 
 Sujet du message: Re: giacpy Pypi windows
MessagePublié: Sam Sep 02, 2017 9:09 am 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4153
Donc pour les non-inities (comme moi), il faut faire:
Code:
python.exe -mpip install --upgrade pip
python.exe -mpip install wheel
python.exe -mpip install giacpy

Ensuite, pour tester si ca marche
Code:
python.exe
from giacpy import *
x=giac('x')
factor(x**4-1)

Ca rend l'installation super-simple a expliquer, je modifie sur le site de Xcas.
Merci!


Haut
 Profil  
 
 Sujet du message: Re: giacpy Pypi windows
MessagePublié: Mer Sep 20, 2017 9:16 pm 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 1022
Localisation: Paris
J'ai mis à jour giacpy en version 0.6.1 sur Pypi.
Binaires windows + source pour les linuxiens qui ont la librairie giac et tout pour compiler.

Principale nouveauté: on peut affecter des vecteurs, matrices, listes... C'est une affectation sur place, probablement un peu plus lente que dans giac/xcas mais plus rapide que subsop.
NB: Pour les grandes matrices j'ai l'impression que A[0][0]=2 est plus rapide que A[0,0]=2.

j'ai ajouté aussi une partie Linear Algebra dans la doc de la fonction giac:

Code:
...
     Linear Algebra:
      ---------------
   
      * In Giac/Xcas vectors are just lists and matrices are lists of list.
   
       >>> x,y=giac('x,y')
       >>> A=giac([[1,2],[3,4]])  # we create a giac matrix from it lines
       >>> v=giac([x,y]); v   # a giac vector
       [x,y]
       >>> A*v # matrix product with a vector outputs a vector
       [x+2*y,3*x+4*y]
       >>> v*v  # dot product
       x*x+y*y
   
       Remark that w=giac([[x],[y]]) is a matrix of 1 column and 2 rows. It is not a vector    so w*w doesn't make sense.
       >>> w=giac([[x],[y]])
       >>> w.transpose()*w   # this matrix product makes sense and output a 1x1 matrix.
       matrix[[x*x+y*y]]
   
      * In Python affectation doesn't create a new matrix. (cf. pointers) see also  the doc of  'giacpy.Pygen.__setitem__'
   
       >>> B1=A;
       >>> B1[0,0]=43; B1 # in place affectation changes both B1 and A
       [[43,2],[3,4]]
       >>> A
       [[43,2],[3,4]]
       >>> A[0][0]=A[0][0]+1; A  # similar as A[0,0]=A[0,0]+1
       [[44,2],[3,4]]
       >>> A.pcar(x)  # compute the characteristic polynomial of A
       x**2-48*x+170
       >>> B2=A.copy() # use copy to create another object
       >>> B2[0,0]=55; B2  # here A is not modified
       [[55,2],[3,4]]
       >>> A
       [[44,2],[3,4]]
   
   
   
      * Sparse Matrices are avaible via the table function.
       >>> import giacpy
       >>> A=giacpy.table(()); A  # create an empty giac table
       table(
       )
       >>> A[2,3]=33; A[0,2]='2/7' # set non zero entries of the sparse matrix
       >>> A*A  # basic matrix operation are supported with sparse matrices
       table(
       (0,3) = 66/7
       )
       >>> D=giacpy.diag([22,3,'1/7']); D  # some diagonal matrix
       [[22,0,0],[0,3,0],[0,0,1/7]]
       >>> giacpy.table(D)    # to create a sparse matrix from an ordinary one
       table(
       (0,0) = 22,
       (1,1) = 3,
       (2,2) = 1/7
       )
   
   
        But many matrix functions apply only with ordinary matrices so need conversions
   
       >>> B1=A.matrix(); B1 # convert the sparse matrix to a matrix, but the size is minimal
       [[0,0,2/7,0],[0,0,0,0],[0,0,0,33]]
       >>> B2=B1.redim(4,4); B2.pmin(x)  # so we may need to resize B1
       x**3
...


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 

Heures au format UTC


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 3 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduction réalisée par Maël Soucaze © 2009 phpBB.fr