У меня есть несколько объектов Counter, как показано ниже, представляющих левую и правую части уравнения:
Левая сторона: (Counter({22.99: 1}), Counter({12.011: 2, 15.999: 2}), Counter({12.011: 7}))
Правая сторона: Counter({12.011: 15, 15.999: 1})
Моя цель - найти общие элементы между обеими сторонами уравнения, а затем определить линейную комбинацию левой, которая может дать мне правую сторону.
В приведенном выше примере уравнение для решения будет выглядеть следующим образом:
2A*12.011 + 7B*12.011 = 15W*12.011
2A*15.999 = W*15.999
Я предполагаю, что эта операция будет включать преобразование словаря счетчика в матрицу для решения системы линейных уравнений, но я застряло том, как это сделать.