Это было ранее исследовано в QuTiP TypeError: Несовместимые формы Qobj с тензорным произведением , но я не уверен насчет ответа там.
Предположим, я определил A = tensor(qeye(2), qeye(2))
и B = qeye(4)
Я не могу их умножить, потому что формы объектов противоречивы.
Однако матрицы имеют одинаковое измерение, и я хотел бы "сгладить" A
, чтобы позволить его умножить на B
.Если у меня есть комбинация разделенных и неразделимых операторов, как я могу использовать их вместе?Другими словами, B
нельзя еще больше упростить, так что я должен сделать с A
, чтобы их можно было умножить?
РЕДАКТИРОВАТЬ: неуклюжий вид Qobj (A.data.toarray ()) работает, ноЯ оставлю это открытым, если у кого-то есть идея получше или она поймет, почему QuTiP делает это.