Où puis-je obtenir un solveur de système linéaire rapide écrit en D? Il devrait être en mesure de prendre une matrice carrée A et un vecteur b et résoudre l'équation Ax = b pour b et, idéalement, effectuer également une inversion explicite sur A. J'en ai un que j'ai écrit moi-même, mais c'est plutôt lent, probablement parce qu'il est complètement naïf dans le cache. Cependant, pour mon cas d'utilisation, je besoin de quelque chose avec les éléments suivants absolus, non négociables exigences, à savoir si elle ne répond pas à ces questions, alors je ne me soucie pas autrement comment bon il en est autrement:Solveur de système linéaire rapide pour D?
Doit être une licence de domaine public, une licence Boost ou une licence permissive similaire. Idéalement, il ne devrait pas nécessiter d'attribution dans les binaires (c'est-à-dire pas BSD), bien que ce point soit quelque peu négociable.
Doit être écrit en langage D pur ou facilement traduisible en D pur. Le code Fortran inscriptible (c'est-à-dire LAPACK) n'est pas une bonne réponse, quelle que soit sa rapidité. Doit être optimisé pour les grands systèmes (c'est-à-dire n> 1000). Je ne veux pas quelque chose qui soit conçu pour les programmeurs de jeux pour résoudre les matrices 4x4 vraiment, vraiment vite. Ne doit pas être inextricablement liée à une énorme bibliothèque de choses dont je n'ai pas besoin.
Edit: La raison de ces exigences apparemment fou est que je besoin de ce code pour une bibliothèque open source sous licence permissive que je ne veux pas avoir de dépendances tiers.
Quelles propriétés A a-t-il? Symétrique? Positif? Définie positive? Bandé? Clairsemé? Vous demandez quelque chose de rapide, domaine public et excluez LAPACK! Il ne semble pas que vous vouliez vraiment une solution! Êtes-vous conscient que tous les solveurs linéaires performants sont dérivés du manuel? –
Qu'est-ce que c'est «The Handbook»? – Baxissimo
@Baxissimo "Le manuel pour le calcul automatique: algèbre linéaire" publié à l'origine en 1972, écrit par JH Wilkinson et C. Reinsch –