Ist genau definiert, was man in der Quantenmechanik unter Messung versteht?

Ich wiederhole gerade ein wenig Quantenmechanik, da ich eine Vorlesung über Quantencomputing belegt habe: dabei tauchen Fragen auf, die ich mir in meinem Studium (wo ich einfach durch musste) nicht gestellt habe, nun aber ziemlich vordergründig erscheinen.

Eine davon ist das ur-alte Thema "Messung" bzw. "Kollaps des Zustandes": Ich habe das NIE in der Tiefe verstanden...Das Thema Messung wurde in meinem Studium irgendwo zwischen den Zeilen stillschweigend hineingeschummelt, ohne je darüber zu reden, was darunter zu verstehen sei (ich denke sogar, dass Fragen dazu dem damaligen Professor unangenehm waren, denn er wich immer aus, wenn das Thema angesprochen wurde).

Besteht nun eigentlich wissenschaftlicher Konsens darüber, was man in der Quantenmechanik unter "Messung" verstehen soll? Scheinbar wird ja postuliert, dass ein makroskopischer Messaparat A

  1. sich mit dem zu messenden Zustand Ψ auf wundersamerweise verschränkt, und
  2. daraufhin ein Kollaps des Zustandes auf einen Eigenzustand des Instruments + Messobjekt |Ai>|Ψi> stattfindet.

Letzterer wird oft auf Dekohärenz aufgrund Wechselwirkungen mit der Umgebung zurückgeführt, aber es könnte ja auch sein, dass makroskopische Objekte sich tatsächlich in einem Überlagerungszustand befinden. Aus der zeitlichen unitären Entwicklung eines Zustandes folgt keineswegs, dass es zu einem Kollaps kommen muss. Warum kommt es aber dazu? Gibt es dafür eine plausible Erklärung? Ich verstehe zumindest nicht, wie Dekohärenz das Thema zufriedenstellend erklären soll. Alle Erklärungen die ich bisher gefunden habe sind meiner Ansicht nach Zirkelschlüsse (auch in den Arbeiten von Zeh finde ich leider nicht die ultimative Erleuchtung).

Weiß jemand mehr? Bin für Litereturempfehlungen dankbar.

Physik, Quantenmechanik

Quantenverschränkung: wo ist mein Brett vor dem Kopf?

Angenommen ich habe den verschränkten Zustand |Ψ> der Qubits A, B , mit den Räumen

H(A)={|0>, |1>},

H(B)={|u>, |v>}

|Ψ> = |0u> + |1v>

Der Dichteoperator von (A,B) ist somit (ich lasse alle Normierungsfaktoren weg!)

ρ(A,B) = |Ψ><Ψ| = |0u><0u| + |1v><0u| + |0u><1v|+ |1v><0u| + |1v><1v|

Der reduzierte Dichteoperator ρ(B) ergibt sich durch Spurbildung über die Zustände A:

ρ(B) = ... = |u><u| + |v><v|

(Stimmt das? Ich komme immer wieder auf das)

Dieser beschreibt die Information, die B über sein Teilsystem hat.

Nun soll A aber eine Messung an einem Teilsystem durchführen und beispielsweise durch das Ergebnis 0 den Zustand auf |Ψ>'=|0u> reduzieren. Nach der Messung ist der neue gesamte Dichteoperator

ρ' = |Ψ'><Ψ'| = |0u><0u|

Der neue reduzierte Dichteoperator ρ'(B) ist dann (ich lasse Einheitsoperatoren weg)

ρ'(B) = ... = <0|0u><0u|0> + <1|0u><0u|1> = <0|0u><0u|0> = |u><u|

(Stimmt das? Ich komme auch hier immer wieder auf das)

Irgendwo muss aber ein Fehler in der Überlegung sein, denn A und B können beliebig weit entfernt sein und B kann ja nicht mitbekommen, ob A eine Messung gemacht hat oder nicht. Für ihn hat sich aber die Kenntnis über sein Teilsystem verändert (ρ'(B) <> ρ(B)). Das wäre ja eine Verletzung des No-Communication-Theorems, wonach Operationen an einem Teilsystem nicht durch das andere Teilsystem festgestellt werden können. Das wäre ja Spooky Action at a Distance.

Wo ist mein Denkfehler? Ich vermute, ich habe ρ'(B) falsch angegangen, habe aber ein Brett vor dem Kopf.

Physik, Quantenmechanik

Kann man mir diese mathematische Notation erklären?

Ich bin kein Mathematiker und mit aussagelogischen Quantoren nicht bewandert: Es geht aber um das Folgende:

Eine Aussage der Informatik (Pumping Lemma) wird so beschrieben:

Ist L (eine formale Sprache) durch einen endlichen Automaten erkennbar,
dann gibt es ein p ∈ N
sodass für alle w ∈ L mit |w|≥p gilt: (w=Wortlänge)
Es gibt ein Zerlegung w = xyz mit y ≠ ε und |xy ≤ p
sodass für alle i ∈ N gilt: xy^iz ∈ L

Soweit so gut - obwohl ich sehr gut verstehe, was damit gemeint sein soll, habe ich nun doch ein seltsames Bauchgefühl:

Was ist, wenn die Sprache nur aus L={a} besteht? D.h. es gibt nur das Wort a. Dieses wäre ja erkennbar.

Welches p erfüllt hier aber die Aussage "für alle w ∈ L mit |w|≥p" ? p kann ja sinnvoll höchstens 1 sein. Also setzte ich p=1. Es gibt nun aber kein L mit |w|>1. Egal was ich für ein p nehme - es trifft nie zu: Dies ist dann zwar kein Widerspruch, nur ist es eine Aussage für die Elemente einer leeren Menge und dann sagt dieser Satz eine Trivialität aus. Eine Aussage kann sich ja sinnvollerweise nur auf etwas beziehen, das im Kontext vorhanden ist. Dieses Lemma macht doch eigentlich nur wirklichen Sinn, wenn es um Sprachen geht, die in in der Wortlänge grundsätzlich unbeschränkt sind (oder eine Wortlänge haben, die mindestens so groß ist, wie die Anzahl der Zustände im Automaten) - oder sehe ich da was falsch? Ich hab hier momentan einen kleinen Knoten im Hirn...

Mathematik, Informatik

Frage zu c# bzw. #script?

Kennt sich jemand mit #script aus?

Ich habe folgendes Skript:

 "Script/DeviceTemplate": {
        "Content": "{{var assignments = []}}
{{var nodeId = ServiceTask.DeviceInstallationServiceTask.Details.NodeId}}
{{#each groupName in Typicals.DeviceTypes.xxx.DeviceTypicals[ServiceTask.DeviceInstallationServiceTask.Details.Typical.Name].SignalGroups}}
{{var index = 0}}
{{#each signal in Typicals.DeviceTypes.xxx.SignalGroups[groupName].SignalList}}
{{var baseComponent = ServiceTask.DeviceInstallationServiceTask.Details.Typical.SignalAssignments[groupName].BaseComponent}}
{{var _ = assignments.push({
    "assignmentIndex": index,
	"deviceId": "" + nodeId,
    "sparkplugName": baseComponent + signal.MetricBaseName
})}}
{{index = index + 1}}
{{/each}}
{{/each}}
{{ {
  "system": {
    "deviceName": nodeId
  },
  "apps": [
    {
      "appName": "SPARKPLUG",
      "appId": 12345,
      "settings": {
                "clientId": nodeId,
                "keepAliveInterval": 120,
                "publishInterval": 120,
                "startupDelay": 50
      },	 
      "sparkplugSettings": {
            "mqttTopic": "spBv1.0",
            "sparkplugTopic": "NTN/{MessageType}/" + nodeId
      },
      "assignments": assignments
    }
  ]
} |> json}}"
      }

Dieses hat zwei Schleifen, in der inneren Schleife soll die Variable index um 1 erhöht werden. Alles funktioniert, nur bekomme ich in der Ausgabe für jeden Aufruf von

index = index + 1

ebenfalls eine Ausgabe:

     1
     2
     3
     4
     5
     6
     7
     8
     9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
   {"system":{"deviceName......

Wie kann ich die Ausgabe von 1 bis 23 unterdrücken?

Software, IT, programmieren, C Sharp, Code, Programmiersprache, Script, Softwareentwicklung