Ich habe ein etwas mathematisch orientiertes Problem. Ich habe eine Reihe von Bitfeldern und würde gerne berechnen, welche Teilmenge von ihnen zu xor zusammen ist, um ein bestimmtes anderes Bitfeld zu erreichen, oder, wenn es keine Möglichkeit gibt, es zu entdecken, dass keine solche Teilmenge existiert.Wie finde ich die Teilmenge der Bitfelder xor zu einem anderen Bitfeld?
Ich möchte dies mit einer freien Bibliothek, anstatt ursprünglichen Code, und ich würde etwas mit Python-Bindungen bevorzugen (mit Python integrierten Math-Bibliotheken wäre auch akzeptabel, aber ich möchte portieren dies zu mehreren Sprachen schließlich). Außerdem wäre es gut, den Speicher nicht zu nehmen, wenn man jedes Bit auf sein eigenes Byte erweitern möchte.
Einige weitere Klarstellung: Ich brauche nur eine einzige Lösung. Meine Matrizen sind das Gegenteil von spärlich. Ich bin sehr daran interessiert, die Laufzeit auf ein absolutes Minimum zu beschränken, daher ist die Verwendung algorithmisch anspruchsvoller Methoden zum Invertieren von Matrizen sehr zu bevorzugen. Außerdem ist es sehr wichtig, dass das spezifizierte Bitfeld das ausgegebene ist, also eine Technik, die nur eine Teilmenge findet, die xor zu 0 nicht ganz schneidet.
Und ich bin mir im Allgemeinen der Gaussian Beseitigung bewusst. Ich versuche, dies von Grund auf zu vermeiden!
Quer gebucht mathoverflow, weil nicht klar ist, was der richtige Ort für diese Frage ist - https://mathoverflow.net/questions/41036/how-to-find-which-subset-of-bitfields-xor-to-another-bitfield
m4ri sieht vielversprechend aus, aber argh, allgemeine Bibliotheken sollten nicht GPL sein! –