Problème sage ?
Hello,
J'ai un petit problème avec sage, est-ce que quelqu'un peut tester les commandes suivantes et me donner le résultat, chez moi la commande finale ne termine pas et je ne comprends pas ! Merci d'avance !
J'ai un petit problème avec sage, est-ce que quelqu'un peut tester les commandes suivantes et me donner le résultat, chez moi la commande finale ne termine pas et je ne comprends pas ! Merci d'avance !
class Theta: def __init__(self,K): assert K.dimension() == 5 self.Theta_K = self.morphisme self.algebra = K def morphisme(self,N): K = self.algebra B = K.basis() Nx = sum([N[0,j]*B[j] for j in range(5)]) Ny = sum([N[1,j]*B[j] for j in range(5)]) Nz = sum([N[2,j]*B[j] for j in range(5)]) return matrix(6,5,[vector(u) for u in [Nx^2,Ny^2,Nz^2,Nx*Ny,Nx*Nz,Ny*Nz]])
k.<x1,x2,x3,x4,x5, y1,y2,y3,y4,y5, z1,z2,z3,z4,z5> = QQ[] k = k.fraction_field() N = matrix(k,3,5,[[x1,x2,x3,x4,x5], [y1,y2,y3,y4,y5], [z1,z2,z3,z4,z5]]) kT.<T> = k[] P = T^5 CP = companion_matrix(P) K = FiniteDimensionalAlgebra(k,[(CP.transpose())^j for j in range(0,5)] ) phi = Theta(K).morphisme M = phi(N) time v = M.minors(5)
Réponses
-
sage: phi = Theta(K).morphisme --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-11-6c0f7bcbca94> in <module>() ----> 1 phi = Theta(K).morphisme <ipython-input-1-4fd6c0d0d9d4> in __init__(self, K) 1 class Theta: 2 def __init__(self,K): ----> 3 assert K.dimension() == Integer(5) 4 self.Theta_K = self.morphisme 5 self.algebra = K sage/structure/category_object.pyx in sage.structure.category_object.CategoryObject.__getattr__ (/usr/lib/sagemath//src/build/cythonized/sage/structure/category_object.c:7940)() sage/structure/category_object.pyx in sage.structure.category_object.CategoryObject.getattr_from_category (/usr/lib/sagemath//src/build/cythonized/sage/structure/category_object.c:8104)() sage/structure/misc.pyx in sage.structure.misc.getattr_from_other_class (/usr/lib/sagemath//src/build/cythonized/sage/structure/misc.c:1861)() AttributeError: 'FiniteDimensionalAlgebra_with_category' object has no attribute 'dimension'
De fait, quand je tape "K.<Tab>", ça passe directement de K.degree à K.dump. -
Apparemment, on peut remplacer "assert K.dimension()==5" par "assert len(K.basis())==5" sans dommage.
L'erreur suivante est due au fait que "vector(u)" n'a pas de sens pour u dans K :--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-23-b3f71f5ecfea> in <module>() ----> 1 M = phi(N) <ipython-input-21-64ea7d8bbd0b> in morphisme(self, N) 11 Nz = sum([N[Integer(2),j]*B[j] for j in range(Integer(5))]) 12 print Nx ---> 13 return matrix(Integer(6),Integer(5),[vector(u) for u in [Nx**Integer(2),Ny**Integer(2),Nz**Integer(2),Nx*Ny,Nx*Nz,Ny*Nz]]) 14 sage/modules/free_module_element.pyx in sage.modules.free_module_element.vector (/usr/lib/sagemath//src/build/cythonized/sage/modules/free_module_element.c:5896)() sage/modules/free_module_element.pyx in sage.modules.free_module_element.prepare (/usr/lib/sagemath//src/build/cythonized/sage/modules/free_module_element.c:6474)() /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/structure/sequence.py in Sequence(x, universe, check, immutable, cr, cr_str, use_sage_types) 239 if universe is None: 240 orig_x = x --> 241 x = list(x) # make a copy even if x is a list, we're going to change it 242 243 if len(x) == 0: TypeError: 'FiniteDimensionalAlgebraElement' object is not iterable
-
Salut Math coss,
Tu as quelle version de sage ? Chez moi le problème est dans la dernière commande, impossible de calculer les minors (on a trouvé une combine qui consiste à travailler sur l'anneau de polynôme plutôt que sur son corps de fraction). -
Ah oui, ma version date un peu : version 7.5.1 du 15 janvier 2017. Bon, j'essaie d'installer une version plus récente.
-
OK, avec Sage 8.8, tout passe jusqu'à la dernière commande mais le calcul d'un seul des mineurs prend déjà trop de temps. Après transformation de M en une matrice à coefficients polynomiaux par un change_ring... ça ne change rien (pas la patience) ça change tout !
In:class Theta: def __init__(self,K): assert K.dimension() == 5 self.Theta_K = self.morphisme self.algebra = K def morphisme(self,N): K = self.algebra B = K.basis() Nx = sum([N[0,j]*B[j] for j in range(5)]) Ny = sum([N[1,j]*B[j] for j in range(5)]) Nz = sum([N[2,j]*B[j] for j in range(5)]) return matrix(6,5,[vector(u) for u in [Nx^2,Ny^2,Nz^2,Nx*Ny,Nx*Nz,Ny*Nz]]) k.<x1,x2,x3,x4,x5, y1,y2,y3,y4,y5, z1,z2,z3,z4,z5> = QQ[] kf = k.fraction_field() N = matrix(kf,3,5,[[x1,x2,x3,x4,x5], [y1,y2,y3,y4,y5], [z1,z2,z3,z4,z5]]) kT.<T> = kf[] P = T^5 CP = companion_matrix(P) K = FiniteDimensionalAlgebra(kf,[(CP.transpose())^j for j in range(0,5)] ) phi = Theta(K).morphisme M = phi(N) time v = M.change_ring(k).minors(5)
Out:CPU times: user 39.3 ms, sys: 0 ns, total: 39.3 ms Wall time: 36.2 ms
-
Merci pour la confirmation. C'est assez louche tout de même !
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 69 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres