Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 124 092 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
1661
Sauf qu'en fait, en faisant ce genre de choses sans prendre en compte la forme de la matrice, c'est très coûteux. Sur des matrices de petite taille, les algos inversent explicitement.
En fait, ce que je fais généralement, c'est passer par une résolution symbolique (avec SymPy) et j'implémente ça. En général, il faut multiplier le résultat par le déterminant de la matrice pour simplifier les calculs, mais c'est rapide. Et je compare avec utiliser un solve explicite, et c'est l'un ou l'autre qui sera plus rapide.
1662
Citation de alex.d. :
Citation de EraTom :

Lorsque l'on a une équation du type A*X = Y connaissant A et Y on peut calculer X sans expliciter l'inverse de A (en procédant par substitution, pour prendre un algo simple).

Ou tu peux aussi faire une facto LU, sur de grosses matrices.
Tu fais les deux.

Pour les grosses matrices creuses, la factorisation est procédée par bloc pour éviter les calculs inutiles ; l'arbre d'élimination est construit de manière à tracer les zones qui contiennent des valeurs non-nulles et celles qui ne contiennent que des 0 pour parcourir les blocs rapidement, ou pour paralléliser les factorisations de blocs, etc.


Citation :
En fait, ce que je fais généralement, c'est passer par une résolution symbolique (avec SymPy) et j'implémente ça. En général, il faut multiplier le résultat par le déterminant de la matrice pour simplifier les calculs, mais c'est rapide.
Ah oui ok, si tu calcules directement l'inverse au lieu de calculer la Jacobienne pour l'inverser, ça déplace toute la difficulté.

Mais du coup, est-ce un problème d'avoir une grosse matrice creuse avec la MNA ?
Quitte à calculer formellement la matrice inverse autant calculer formellement le produit par cette matrice.

Purée je repense à l'une de mes simu de montage... C'est ce que j'aurais dû faire !

[ Dernière édition du message le 06/04/2017 à 07:25:06 ]

1663
Bon courage alors miles :bravo:

Oui en général quand on a des matrices à inverser, il est plus intéressant d'utiliser des algos de résolution de système d'équations plutôt que d'avoir à calculer explicitement l'inverse. Après c'est vraiment utile si la matrice en question a son contenu ou sa structure qui change en temps-réel. Et ça peut être optimisé par d'autres algos si la matrice est creuse d'où ma remarque. Enfin, dans le cas où rien de tout ça ne change en temps réel, on peut aussi faire le calcul en symbolique une fois pour toutes pour simplifier encore plus les calculs...

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

1664
Citation de EraTom :
Mais du coup, est-ce un problème d'avoir une grosse matrice creuse avec la MNA ?
Quitte à calculer formellement la matrice inverse autant calculer formellement le produit par cette matrice.

Tout dépend ce qu'on appelle grosse ! La plus grosse que j'ai pu utiliser pour l'instant donne le code suivant : https://github.com/mbrucher/AudioTK/blob/master/ATK/Preamplifier/FollowerTransistorClassAFilter.cpp#L114
C'est déjà imbitable. Je garde la multiplication matricielle pour laisser Eigen se débrouiller efficacement. J'ai constaté que parfois quand j'essayais d'être plus malin que lui, j'étais plus lent. Du coup, pour une petit matrice, je garde cette solution là, même si par la suite, pour des schémas plus gros (par ex des push-pull ou des ampli miroir), je passerai définitivement par le calcul formel du produit final.
1665
Citation de Wolfen :
Bon courage alors miles :bravo:

Bon, on va commencer alors : https://github.com/mbrucher/AudioTK-book
LA grande question est de savoir si je vais avoir la motivation d'aller jusqu'au bout, si j'ai bien couvert ce qu'il faut couvrir et correctement surtout.
1666
@miles1981 c'est toi qui est derrière atk ? Si oui chapeau ! :8)

J'aurais adoré participer à un workshop Juce, mais je suis basé à Bruxelles.
Vous avez pas envie de délocaliser dans la capitale de l'Europe ? ;)

[ Dernière édition du message le 08/04/2017 à 11:59:04 ]

1667
Merci, oui, j'ai écrit ATK. Je m'amuse bien avec, surtout en ce moment ! J'espère qu'un jour ça sera plus utilisé ;)
1668

Tadaaaaa on sait piloter les E/S (I2C, GPIO,...) du Raspberry Pi sous Linux avec Mono en C# (langage de haut niveau).

A nous les applications IIOT ou d'automatisme à pas cher... et surtout compréhensibles et surtout dans un langage un peu chiadé.

Il y a deux moyens d’oublier les tracas de la vie : la musique et les chats.
Albert Schweitzer

1669
Pour ceux qui sont intéressés par mon aventure littéraire, vous pouvez aller sur le projet github : https://github.com/mbrucher/AudioTK-book
Je viens d'y mettre un premier jet de premier chapitre/intro (dans les releases), vous pouvez commenter en mettant un commentaire en ouvrant un ticket (je pense qu'un ticket par chapitre peut êytre pas mal à la fin).

https://github.com/mbrucher/AudioTK-book/releases/tag/0.0.1
1670
Au fait je ferai une présentation du nouveau JUCE 5 à l'IRCAM le Jeudi 11 mai de 12h à 13h :8)

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud