Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 129 167 vues
- 130 followers

Anonyme



miles1981

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.
Audio Toolkit: http://www.audio-tk.com/

EraTom

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.
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.
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.
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 ]

Wolfen


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

miles1981

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.
Audio Toolkit: http://www.audio-tk.com/

miles1981

Bon courage alors miles
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.
Audio Toolkit: http://www.audio-tk.com/

Apleton


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 ]

miles1981


Audio Toolkit: http://www.audio-tk.com/

J-Luc

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

miles1981

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
Audio Toolkit: http://www.audio-tk.com/

Wolfen


Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
- < Liste des sujets
- Charte