Neue Speicherkarten: SDUC und SD Express

Da werden die Festplattenhersteller aber ganz schön ins Schwitzen kommen, wenn die neuen Speicherkarten am Markt erscheinen. SD Express für bis zu 1 GB pro Sekunde und Ultra Capacity für bis zu 128 TB soll es bald geben.
Sie dazu
SD Express SDUC memory cards will give you 985MB/s transfer speeds and 128TB of storage
SD-Karten-Standard schafft 1 GByte/s und 128 TByte
Neue Speicherkarten SDUC und SD Express: Schneller und leistungs­fähiger

Ein Lesegerät mit USB-Anschluss kostet ein paar Euro – bin schon gespannt auf den Preis einer 128 TB-Karte.

Sie wähnen sich anonym und werden dabei spezialüberwacht

Es gibt viele Dienste, die Anonymität anbieten. Lese dazu
Web-Proxy: ohne Installation anonym im Browser surfen
Web-Proxy: ohne Installation anonym im Browser surfen
Anonym surfen: Wirksamer Schutz gegen den Lauschangriff ….
Wenn Sie nach Listen anonymous proxy suchen, werden Sie genügend finden und man kann dann einfach die IP im Browser eintragen und manche wähnen sich dann schon anonym.
Dazu ein Artikel aus dem Jahre 2012, der mir gefällt, weil ich damals als Squid-Fan ähnliche Experimente durchführte, Hacker warnt vor mitlesenden Proxy-Diensten.
Es ist wirklich sehr einfach, genau diese Leute auszuspionieren, die glauben, dass sie anonym wären.

Sei nice und lass die CPU in Ruh’

Ja, manche Programme ärgern mich, weil sie unverschämt lange 100% der CPU nutzen. Dann geht nicht einmal mehr “top”, weshalb ich sie von vornherein mit einem höheren Nice-Wert (niceness) starte.
Ausführen von Programmen mit verschiedenen Prioritäten. Mit “top” sehe ich z.B., dass der Firefox lästig wird und mit “sudo renice 10 -p PID” erhöhe ich dann seine niceness und schon gibt er Ruhe.
nice sagt uns allerdings:

Die Ausführungsgeschwindigkeit eines Befehls bzw. eines Programms kann zwar durch nice beeinflusst werden, hängt aber auch maßgeblich von anderen Faktoren ab wie z.B. der Gesamtzahl der laufenden Prozesse, Zugriffsgeschwindigkeit auf die Festplatte etc.

Aber ein zeitweiliges Ruckeln oder ein wenig langsamer stört mich nicht, nur ein “einfrieren oder aufhängen” vertrage ich nicht und muss ich in Linux auch nicht vertragen, denn dank nice und renice laufen meine Programme immer ganz nett.

23.3 nice: Run a command with modified niceness
GNU Coreutils
Welcome to the Free Software Directory


Übrigens, “sudo” benutze ich, wenn ich als normaler Benutzer mein System benutze und dann schnell root-Rechte brauche. Für Arbeiten als Sys-Admin ist der “root” wesentlich praktischer, weshalb ich den in Ubuntu auch immer als erstes ein pw gebe, damit ich als solcher arbeiten kann – sudo passwd root – und schon habe ich einen neuen Job. 😉
Da ich Firefox z.B. sowieso immer brauche, starte ich ihn gleich mit dem Betriebssystem automatisch mit und zwar mit niceness 10.

time

info und man gehören zu den von mir am häufigsten genutzten Befehlen auf meinem Ubuntu. Manchmal möchte ich aber auch auf meinem Handy oder auf einem fremden PC nachlesen und daher kopiere ich mir manche Auszüge von info und man hier her. Ich sammle diese Artikel in der Kategorie “Linux”, “GNU-Handbücher” und Subkategorie, wie für “time” die Kategorie “Sys-Admin”.

Wenn “which time” “/usr/bin/time” sagt, wird die GNU-Version verwendet, sonst kann man das erreichen mit:
# The following methods bypass the built-in ‘time’ and use GNU time:
$ env time make
$ /usr/bin/time make
$ \time make


man von time:
TIME(1) General Commands Manual TIME(1)

NAME
time – run programs and summarize system resource usage

SYNOPSIS
time [ -apqvV ] [ -f FORMAT ] [ -o FILE ]
[ –append ] [ –verbose ] [ –quiet ] [ –portability ]
[ –format=FORMAT ] [ –output=FILE ] [ –version ]
[ –help ] COMMAND [ ARGS ]

DESCRIPTION
time run the program COMMAND with any given arguments ARG…. When
COMMAND finishes, time displays information about resources used by
COMMAND (on the standard error output, by default). If COMMAND exits
with non-zero status, time displays a warning message and the exit
status.

time determines which information to display about the resources used
by the COMMAND from the string FORMAT. If no format is specified on
the command line, but the TIME environment variable is set, its value
is used as the format. Otherwise, a default format built into time is
used.

Options to time must appear on the command line before COMMAND.
Anything on the command line after COMMAND is passed as arguments to
COMMAND.

OPTIONS
-o FILE, –output=FILE
Write the resource use statistics to FILE instead of to the
standard error stream. By default, this overwrites the file,
destroying the file’s previous contents. This option is useful
for collecting information on interactive programs and programs
that produce output on the standard error stream.

-a, –append
Append the resource use information to the output file instead
of overwriting it. This option is only useful with the `-o’ or
`–output’ option.

-f FORMAT, –format FORMAT
Use FORMAT as the format string that controls the output of
time. See the below more information.

–help Print a summary of the command line options and exit.

-p, –portability
Use the following format string, for conformance with POSIX
standard 1003.2:
real %e
user %U
sys %S

-v, –verbose
Use the built-in verbose format, which displays each available
piece of information on the program’s resource use on its own
line, with an English description of its meaning.

–quiet
Do not report the status of the program even if it is different
from zero.

-V, –version
Print the version number of time and exit.

FORMATTING THE OUTPUT
The format string FORMAT controls the contents of the time output. The
format string can be set using the `-f’ or `–format’, `-v’ or
`–verbose’, or `-p’ or `–portability’ options. If they are not
given, but the TIME environment variable is set, its value is used as
the format string. Otherwise, a built-in default format is used. The
default format is:
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

The format string usually consists of `resource specifiers’
interspersed with plain text. A percent sign (`%’) in the format
string causes the following character to be interpreted as a resource
specifier, which is similar to the formatting characters in the
printf(3) function.

A backslash (`\’) introduces a `backslash escape’, which is translated
into a single printing character upon output. `\t’ outputs a tab
character, `\n’ outputs a newline, and `\\’ outputs a backslash. A
backslash followed by any other character outputs a question mark (`?’)
followed by a backslash, to indicate that an invalid backslash escape
was given.

Other text in the format string is copied verbatim to the output. time
always prints a newline after printing the resource use information, so
normally format strings do not end with a newline character (or `\n’).

There are many resource specifications. Not all resources are measured
by all versions of Unix, so some of the values might be reported as
zero. Any character following a percent sign that is not listed in the
table below causes a question mark (`?’) to be output, followed by that
character, to indicate that an invalid resource specifier was given.

The resource specifiers, which are a superset of those recognized by
the tcsh(1) builtin `time’ command, are:
% A literal `%’.
C Name and command line arguments of the command being
timed.
D Average size of the process’s unshared data area, in
Kilobytes.
E Elapsed real (wall clock) time used by the process, in
[hours:]minutes:seconds.
F Number of major, or I/O-requiring, page faults that
occurred while the process was running. These are faults
where the page has actually migrated out of primary
memory.
I Number of file system inputs by the process.
K Average total (data+stack+text) memory use of the
process, in Kilobytes.
M Maximum resident set size of the process during its
lifetime, in Kilobytes.
O Number of file system outputs by the process.
P Percentage of the CPU that this job got. This is just
user + system times divided by the total running time.
It also prints a percentage sign.
R Number of minor, or recoverable, page faults. These are
pages that are not valid (so they fault) but which have
not yet been claimed by other virtual pages. Thus the
data in the page is still valid but the system tables
must be updated.
S Total number of CPU-seconds used by the system on behalf
of the process (in kernel mode), in seconds.
U Total number of CPU-seconds that the process used
directly (in user mode), in seconds.
W Number of times the process was swapped out of main
memory.
X Average amount of shared text in the process, in
Kilobytes.
Z System’s page size, in bytes. This is a per-system
constant, but varies between systems.
c Number of times the process was context-switched
involuntarily (because the time slice expired).
e Elapsed real (wall clock) time used by the process, in
seconds.
k Number of signals delivered to the process.
p Average unshared stack size of the process, in Kilobytes.
r Number of socket messages received by the process.
s Number of socket messages sent by the process.
t Average resident set size of the process, in Kilobytes.
w Number of times that the program was context-switched
voluntarily, for instance while waiting for an I/O
operation to complete.
x Exit status of the command.

EXAMPLES
To run the command `wc /etc/hosts’ and show the default information:
time wc /etc/hosts

To run the command `ls -Fs’ and show just the user, system, and total
time:
time -f “\t%E real,\t%U user,\t%S sys” ls -Fs

To edit the file BORK and have `time’ append the elapsed time and
number of signals to the file `log’, reading the format string from the
environment variable `TIME’:
export TIME=”\t%E,\t%k” # If using bash or ksh
setenv TIME “\t%E,\t%k” # If using csh or tcsh
time -a -o log emacs bork

Users of the bash shell need to use an explicit path in order to run
the external time command and not the shell builtin variant. On system
where time is installed in /usr/bin, the first example would become
/usr/bin/time wc /etc/hosts

ACCURACY
The elapsed time is not collected atomically with the execution of the
program; as a result, in bizarre circumstances (if the time command
gets stopped or swapped out in between when the program being timed
exits and when time calculates how long it took to run), it could be
much larger than the actual execution time.

When the running time of a command is very nearly zero, some values
(e.g., the percentage of CPU used) may be reported as either zero
(which is wrong) or a question mark.

Most information shown by time is derived from the wait3(2) system
call. The numbers are only as good as those returned by wait3(2). On
systems that do not have a wait3(2) call that returns status
information, the times(2) system call is used instead. However, it
provides much less information than wait3(2), so on those systems time
reports the majority of the resources as zero.

The `%I’ and `%O’ values are allegedly only `real’ input and output and
do not include those supplied by caching devices. The meaning of
`real’ I/O reported by `%I’ and `%O’ may be muddled for workstations,
especially diskless ones.

DIAGNOSTICS
The time command returns when the program exits, stops, or is
terminated by a signal. If the program exited normally, the return
value of time is the return value of the program it executed and
measured. Otherwise, the return value is 128 plus the number of the
signal which caused the program to stop or terminate.
AUTHOR
time was written by David MacKenzie. This man page was added by Dirk
Eddelbuettel , the Debian GNU/Linux maintainer, for use
by the Debian GNU/Linux distribution but may of course be used by
others.

SEE ALSO
tcsh(1), printf(3)

Debian GNU/Linux TIME(1)


info von time:
File: time.info, Node: Top, Next: Resource Measurement, Up: (dir)
time weiterlesen

Quantencomputer oder Quanto – das Quant, wie viel, wie lange, wie weit?

Von Joseph A. Stroscio Robert J. Celotta Steven R. Blankenship Frank M. Hess – https://www.nist.gov/cnst/epg/atom_manipulation_stm.cfm, Gemeinfrei, https://commons.wikimedia.org/w/index.php?curid=36930714

Da Latein (quantum) nicht mehr “in” ist, verwendete ich das italienische Wort für Quant, um mir Notizen zum Qunatenrechner anzufertigen. Hier geht es nicht um eine Einführung in Quantenphysik, sondern ich will trivial beschreiben, wie in etwa ein Quantencomputer funkitioniert. Für meine Notizen verwende ich die Wikipedia als Quelle und weitere sind unten als Links angeführt.

Das Quant ist ein Objekt, das durch einen Zustandswechsel in einem System mit diskreten Werten einer physikalischen Größe, meist Energie, erzeugt wird.

Beispiele für das Quant:

Obwohl der physikalischer Terminus Quant nicht zur Bezeichnung atomarer Strukturen verwendet wird, tritt auch hier eine kleinste Mengeneinheit (Quantelung) auf. Gerade diese Quantelung ist im Modell des Atomorbital sehr anschaulich beschrieben, weshalb ich mich dem Quant gerne über das Atomorbital nähere. Quantelung ist aber auch bekannt bei: Materie, Licht, Energie, Ladung, Impuls, Drehimpuls, elektrischer Widerstand.
Übrigens spricht man auch bei der Digitalisierung von Analogsignalen von Quantisierung, aber in der Physik werden Ergebnisse, Begriffe oder Methoden der klassischen Physik so abgeändert, dass quantenphysikalische Beobachtungen am System richtig wiedergegeben werden können. Unter anderem soll dadurch die Quantelung vieler messbarer Größen erklärt werden, z. B. das Vorliegen bestimmter, diskreter Energiewerte bei den Anregungsstufen eines Atoms, was mich besonders fasziniert.
Jetzt kann ich nicht umhin das Plancksche Wirkungsquantum zu erwähnen, also das das Verhältnis von Energie (E) und Frequenz (f) eines Photons, entsprechend der Formel E = h * f. Die gleiche Beziehung gilt allgemein zwischen der Energie eines Teilchens oder physikalischen Systems und der Frequenz seiner quantenmechanischen Phase.
Bevor ich zu den anschaulichen Atommodell von Bohr und meinen Schlüsseln für die Quantenmechanik, nämlich den ganz trivial klingenden Erkenntnissen von Heisenberg und Pauli komme, muss ich an dieser Stelle aber noch die Maxwell-Gleichungen und die Schrödingergleichung erwähnen, die als partiellen Differentialgleichung die Zeitentwicklung des quantenmechanischen Zustands eines nichtrelativistischen Systems beschreibt.

Das Bohrsche Atommodell ist das erste weithin anerkannte Atommodell, das Elemente der Quantenmechanik enthält. Es wurde 1913 von Niels Bohr entwickelt. Atome bestehen bei diesem Modell aus einem schweren, positiv geladenen Atomkern und leichten, negativ geladenen Elektronen, die den Atomkern auf geschlossenen Bahnen umkreisen. Durch drei Postulate setzte Bohr innerhalb des Modells die klassische Physik teilweise außer Kraft. Anders als ältere Atommodelle zeigt das Bohrsche Atommodell viele der am Wasserstoffatom beobachteten Eigenschaften. Andererseits werden viele Details spektroskopischer Messungen von ihm nicht erfasst. Chemische Bindungen kann es nicht erklären. Das Konzept von sich auf engen Bahnen um den Kern bewegenden Elektronen steht im Widerspruch zur Unschärferelation.

Nach dem Bohrschen Atommodell bewegen sich Elektronen auf Kreisbahnen bestimmter Energie. Hier wechselt ein einzelnes Elektron von der 3. auf die 2. Kreisbahn; es wird ein Photon entsprechender Frequenz ausgesendet.
Das Bohrsche Atommodell ebnete den Weg zum Verständnis des Aufbaus der Atomhülle. Die anschauliche Vorstellung von Elektronen, die den Atomkern umkreisen wie Planeten die Sonne, hat für Jahrzehnte das populäre Bild von Atomen geprägt. Das Bild von Elektronenbahnen wird jedoch in allen quantenmechanischen Atommodellen seit etwa 1925 dadurch ersetzt, dass den Elektronen nur bestimmte Aufenthaltswahrscheinlichkeiten zugesprochen werden, siehe Atomorbital.

Bohrs Postulate:

Dem Elektron stehen nicht alle klassisch möglichen Bahnen zur Verfügung, sondern nur bestimmte ausgewählte von ihnen. Auf diesen Bahnen erzeugt es keine elektromagnetische Strahlung, sondern behält seine Energie. Dies sind die stationären Zustände des Atoms.
Das Elektron kann von einem stationären Zustand in einen anderen springen. Dieser als Quantensprung bezeichnete Vorgang liegt außerhalb des Gültigkeitsbereichs der klassischen Mechanik und der Elektrodynamik. Beim Quantensprung zwischen stationären Zuständen mit verschiedener Energie, den Energieniveaus, wird elektromagnetische Strahlung emittiert oder absorbiert. Dabei wird die Frequenz f der Strahlung nicht durch die Umlauffrequenz des Elektrons bestimmt, sondern ausschließlich durch die Energiedifferenz Delta E der beiden Zustände nach der von Max Planck entdeckten Formel f = Delta E/h.
Die Frequenz der erzeugten oder absorbierten Strahlung nähert sich der Umlauffrequenz des Elektrons an, wenn sich das Elektron im Anfangszustand nur langsam bewegt und in den energetisch nächstgelegenen Zustand springt.

Mathematische Formulierungen, die über die Ergebnisse hinaus gehen, möchte ich mir bei Maxwell, Schrödiger, Heisenberg und Bohr unbedingt sparen, ich bin ja nicht Einstein, aber wir sind nun schon bei den anschaulichen Atomorbitalen angelangt und auch die Elektronenkonfiguration ist gut erforscht und dargestellt.

Pauli sagte uns mit seinem Prinzip, dass je zwei Elektronen in einem Atom nicht in allen Quantenzahlen übereinstimmen können. In der modernen Formulierung besagt das Pauli-Prinzip, dass die Wellenfunktion eines Quantensystems in Bezug auf Vertauschung von identischen Fermionen antisymmetrisch ist. Da auch die Quarks als Bausteine von Protonen und Neutronen zu den Fermionen zählen, gilt das Pauli-Prinzip für die gesamte Materie im allgemein verstandenen Sinne: Fermionen „schließen sich gegenseitig aus“, können also nicht am selben Ort existieren. Nur so lässt sich der differenzierte Aufbau der Materie mit Atomen und Molekülen verstehen.[1] Das Pauli-Prinzip bestimmt demnach nicht nur den Aufbau des Atoms, sondern auch den größerer Strukturen. Eine Folge ist der Widerstand, den kondensierte Materie weiterer Kompression entgegensetzt.
Eine elementare Erkenntnis in der Quantenphysik, die für mich fordert, nach der Quantenzahl zu fragen.

Die Hauptquantenzahl n beschreibt die Schale, zu der der Zustand des Elektrons gehört, also n = 1, 2, 3, …
Die Nebenquantenzahl l kennzeichnet die Form des Atomorbitals l=0,1,2, … < n, sie wird auch als Drehimpulsquantenzahl bezeichnet, weil sie darauf verweist, dass l(l+1) hoch 2 der Eigenwert des Quadrats des Drehimpulsoperators ist.

Dabei steht:

s für l=0 (ursprünglich für ‚scharf‘, z. B. „s-Zustand“)
p für l=1 (ursprünglich für engl. ‚principal‘, ‚Haupt‘-Zustand)
d für l=2 (ursprünglich für ‚diffus‘)
f für l=3 (ursprünglich für ‚fundamental‘)
g für l=4

Die magnetische Quantenzahl des Drehimpulses wird mit ml bezeichnet und beschreibt die räumliche Orientierung des Elektronen-Bahndrehimpulses

und nicht zuletzt die Spinquantenzahl, siehe dazu Spin

Nun wissen wir zwar noch nicht viel über Quantenphysik und wir werden uns hier nicht weiter in den Teilchen-Wellen-Dualismus vertiefen, obwohl uns Heisenberg gleich darauf hinweisen wird, sondern wir geben uns an dieser Stelle damit zufrieden, dass wir eine Ahnung davon haben, was ein Quant ist.
Jetzt müssen wir aber noch Heisenberg ins Spiel bringen, bevor wir endlich mit diesem Wissen etwas anfangen können und einen Blick auf die Verschränkung und die Superposition (quantenmechanische Kohärenz, analog zu den Kohärenzeffekten, siehe z. B. Holographie, in der sonst inkohärenten Optik) werfen wollen.
Die Unschärferelation der Quantenphysik sagt uns, dass zwei komplementäre Eigenschaften, wie Ort und Impuls eines Teilchens nicht gleichzeitig beliebig genau bestimmbar sind. Das liegt nicht an unzulänglichen Messgeräten, sondern ist prinzipieller Natur und kann als Ausdruck des Wellencharakters der Materie betrachtet werden, siehe Kopenhagener Deutung.
Nun sind wir endlich bei der Grundlage, oder vielmehr bei der möglichen Effizienz des Quantenrechners angelangt, bei der Quantenverschränkung. Das quantenphysikalische Phänomen der Verschränkung liegt vor, wenn der Zustand eines Systems von zwei oder mehr Teilchen sich nicht als Kombination unabhängiger Ein-Teilchen-Zustände beschreiben lässt, sondern nur durch einen gemeinsamen Zustand.
Was beim digitalen Rechner das Bit ist, ist beim Quantenrechner das Qubit. Da wir uns ja schon über Quanten informiert haben, erinnern wir uns an den Spin und diese Rotation des Elektrons um die eigen Achse, also der Eigendrehimpuls kann in zwei entgegengesetzte Richtungen zeigen, womit wir vereinfacht ein Zweizustandssystem hätten.

Ein Zwei-Zustands-System oder auch Zwei-Niveau-System in der Quantenmechanik ist ein einfaches, aber wichtiges Modellsystem, das zur Beschreibung von vielen Situationen herangezogen werden kann. Das System kann sich nur in einem von zwei möglichen Zuständen |1) oder |2) benannt, oder in einer Superposition dieser zwei Zustände befinden (Bra-Ket-Notation). Diese zwei Zustände haben dabei üblicherweise unterschiedliche Energien E1 und E2. Ein Beispiel ist etwa ein an ein Atom gebundenes Elektron, das eines von zwei Niveaus des Atomspektrums besetzen kann (Grundzustand, angeregter Zustand, siehe Abbildung rechts). Oft wird auch das Modellsystem eines quantenmechanischen Spins-1/2 (Drehimpulses) benutzt, der sich nur in zwei Einstellungen befinden kann. Zwischen den Niveaus existiert ein Übergang (z. B. ein optischer Übergang, der durch sichtbares Licht angeregt werden kann). Befindet sich das System einmal in einem der beiden Zustände, so bleibt es für immer dort, zumindest solange man das System nicht stört. Wird eine Störung in dem System eingeschaltet, so kann man beobachten, dass die Zustände ineinander übergehen können:

Befindet sich z. B. ein Elektron im Zustand |1) (der energetisch niedriger liege als |2), so kann es durch einen resonant eingestrahlten Laser-Puls in den Zustand |2) übergehen. Ein Elektron im Zustand |2) kann durch Emission eines Photons, das die Differenzenergie Delta E=E2 – Delta E1= ℏ(reduziertes Plancksches Wirkungsquantum) ω zwischen den Zuständen trägt, in den Zustand |1) zurückfallen.
Liegt die Störung längere Zeit an, so oszilliert die Wahrscheinlichkeit, das Atom in einem der Zustände zu finden. Nach einer halben Oszillationsdauer ist die Wahrscheinlichkeit hoch, das Atom im angeregten Zustand vorzufinden, nach einer ganzen Dauer ist es höchstwahrscheinlich wieder im Grundzustand usw. Dieses Phänomen entspricht den Rabi-Oszillationen.

Als Zweizustands-Quantensystem ist das Qubit das einfachste nichttriviale Quantensystem überhaupt. Der Begriff „Zweizustandssystem“ bezieht sich hierbei nicht etwa auf die Zahl der Zustände, die das System annehmen kann.
Zwei Zustände, die man durch Messung sicher unterscheiden kann, nennt man auch orthogonal zueinander. Die maximale Anzahl der möglichen Messwerte bei einer Messung, und somit auch die maximale Anzahl orthogonaler Zustände, ist eine Eigenschaft des Quantensystems. Beim Qubit als Zweizustandssystem kann man also durch Messung genau zwei verschiedene Zustände sicher unterscheiden. Will man demnach ein Qubit einfach als klassischen Speicher verwenden, so kann man darin genau ein klassisches Bit speichern. Allerdings liegen die Vorteile des Qubits gerade in der Existenz der anderen Zustände.
Wie bei klassischen Bits können auch mehrere Qubits zusammengefasst werden, um größere Werte zu speichern. Ein n-Qubit-System hat dabei genau 2n zueinander orthogonale Zustände. In n Qubits lassen sich somit genau n klassische Bits so speichern, dass die komplette Information zuverlässig wieder ausgelesen werden kann; beispielsweise kann ein „Quantenbyte“ aus 8 Qubits 256 verschiedene zuverlässig wieder auslesbare Werte speichern.
Mit zwei verschiedenen Spins eines Elektrons hätten wir z.B. ein Qubit und könnten im Dualsystem Operationen wie bei einem herkömmlichen durchführen, aber viel wichtiger für die Verwendung in Quantencomputern ist die Existenz verschränkter Zustände mehrerer Qubits. In solchen Zuständen hat ein einzelnes Qubit überhaupt keinen definierten Zustand, die Gesamtheit der Qubits jedoch schon. Dies führt zu nichtlokalen Korrelationen, wie sie beim Einstein-Podolsky-Rosen-Paradoxon auftreten.

Für Quantencomputer wichtig ist die Tatsache, dass durch die Verschränkung eines Satzes von {\displaystyle n} n Qubits ein beliebiger Satz von Sequenzen {\displaystyle n} n klassischer Bits gleichzeitig dargestellt werden kann. Beispielsweise kann mit 4 Qubits ein Zustand hergestellt werden, der genau die Bitfolgen 0000, 0101, 1011 und 1110 enthält und keine anderen. Im Extremfall sind alle möglichen Bitfolgen darin enthalten, z. B. enthält ein entsprechend präpariertes „Quantenbyte“ alle Zahlen von 0 bis 255 gleichzeitig. Führt man nun mit Hilfe quantenmechanischer Operationen Berechnungen auf diesem Zustand aus, so werden diese Berechnungen effektiv auf allen diesen Bitfolgen gleichzeitig ausgeführt. Dieser sogenannte Quantenparallelismus ist der Grund dafür, dass Quantencomputer bestimmte Probleme schneller lösen können als klassische Computer. Allerdings kann man die gespeicherten Bitmuster nicht einzeln auslesen; jede Messung liefert nur einen zufällig ausgewählten der gespeicherten Werte. Um den Quantenparallelismus zu nutzen, müssen daher zusätzlich spezifisch quantenmechanische Transformationen vorgenommen werden, die keine klassischen Äquivalente haben, also Zustände, die genau einem Bitmuster entsprechen, in Überlagerungen mehrerer Bitmuster überführen können und umgekehrt.

Wie wird ein Qubit implementiert? Und wieder sind wir beim Spin und erinnern an die Kernspinresonanz und das gut bekannte MRT, wobei sich die Kernspinresonanz aber nur für eine sehr beschränkte Zahl an Qubits eigne. David DiVincenzo hat dazu 5 Kriterien für Quantencomputer und 2 für Quantenkommunikation aufgestellt. In der Praxis werden vor allem die Systeme Ionen in Ionenfallen, Elektronen in Quantenpunkten, SQUIDs, Kernspinresonanz und Photonenzustände untersucht.

Wie beim klassischen Computer fasst man also mehrere Qubits zu Quantenregistern zusammen. Statt Logikgatter verwendet man Quantengatter. Berechnungen auf einem Quantencomputer laufen grundsätzlich anders ab: Ein Quantengatter ist kein technischer Baustein, sondern stellt eine elementare physikalische Manipulation eines oder mehrerer Qubits dar. Wie genau so eine Manipulation aussieht, hängt von der tatsächlichen physikalischen Natur des Qubits ab. So lässt sich der Spin eines Elektrons durch eingestrahlte Magnetfelder beeinflussen, der Anregungszustand eines Atoms durch Laserpulse. Obwohl also ein Quantengatter kein elektronischer Baustein, sondern eine im Verlauf der Zeit auf das Quantenregister angewendete Aktion ist, beschreibt man Quantenalgorithmen mit Hilfe von Schaltplänen, vgl. hierzu den Artikel Liste der Quantengatter.

Soviel zur Hardware, aber um mit dem Rechner etwas anfangen zu können, benötigen wir noch die Software, Programme, bzw. Algorithmen und leider können die für unseren PC nicht verwendet werden und wie weit eine Emulation Sinn machen würde weiß ich leider noch nicht, damit beschäftige ich mich in meinem näschsten Artikel. Aktuell benötigt man jedenfalls eigene Algorithmen für Quantencomputer und die lassen sich grob in drei Kategorien einteilen:

1) Algorithmen, die auf der Quanten-Fouriertransformation beruhen. Darunter fällt auch der wohl berühmteste Algorithmus für Quantencomputer, der Shor-Algorithmus zur Faktorisierung großer Zahlen. Der Zeitaufwand ist dabei polynomiell in der Anzahl der Ziffern. Im Gegensatz dazu benötigt der beste zurzeit bekannte klassische Algorithmus, das Zahlkörpersieb, superpolynomiell (aber subexponentiell) viel Zeit. Die Bedeutung von Shors Algorithmus beruht auf der Tatsache, dass die Sicherheit der asymmetrischen Verschlüsselungsverfahren wie RSA darauf basiert, dass keine hinreichend effizienten klassischen Algorithmen zur Faktorisierung großer Zahlen bekannt sind.
2) Quanten-Suchalgorithmen. Hierzu gehören der Grover-Algorithmus und Varianten davon. Er dient der effizienten Suche in einem unsortierten Array. Ein gewöhnlicher Computer muss sich bei n Einträgen im schlimmsten Fall alle Einträge ansehen (d. h. vergleichen), klassisch ist dieses Problem also in O(n) Rechenschritten lösbar. Auf einem Quantencomputer kann man dies mit dem Grover-Algorithmus in lediglich =(√n) Operationen erledigen. Diese Schranke ist scharf, das heißt, kein Quantenalgorithmus kann dieses Problem in (asymptotisch) weniger Operationen lösen. Daraus folgt, dass im Allgemeinen kein exponentieller Geschwindigkeitsvorteil bei Verwendung von Quantenalgorithmen zu erwarten ist.
3) Quanten-Simulation. Um quantenmechanische Systeme zu simulieren, bietet es sich an, wieder quantenmechanische Systeme zu benutzen. Mit einem geeigneten Satz von Quantengattern lässt sich jeder Hamiltonian darstellen. Algorithmen dieser Art würden in der Quantenchemie die Simulation von Molekülen erlauben, bei denen mit heutigen Mitteln grobe Näherungen erforderlich sind.
Viele Algorithmen für Quantencomputer liefern nur mit einer gewissen Wahrscheinlichkeit ein korrektes Ergebnis; man spricht von probabilistischen Algorithmen. Durch wiederholtes Anwenden des Algorithmus kann die Fehlerwahrscheinlichkeit beliebig klein werden. Ist die anfängliche Erfolgswahrscheinlichkeit groß genug, reichen wenige Wiederholungen aus.

Architektur für Quantencomputer – Unter Architektur versteht man in diesem Kontext das Konzept zur skalierbaren Anordnung einer sehr großen Zahl von Qubits: wie kann sichergestellt werden, dass die Fehlerrate pro Gatter klein ist (unterhalb der Schwelle für fehlertolerantes Rechnen) und zwar unabhängig von der Zahl der Qubits des Quantencomputers und von der räumlichen Entfernung der beteiligten Qubits im Quantenregister. Wir kennen bereits die Krigterien von David DiVincenzo, aber ich zitiere hier nochmals:

  1. Er besteht aus einem skalierbaren System gut charakterisierter Qubits.
  2. Alle Qubits können in einen wohldefinierten Anfangszustand gebracht werden (z. B. |00…0) ).
  3. Ein universelles Set elementarer Quantengatter kann ausgeführt werden.
  4. Einzelne Qubits (zumindest eines) können ausgelesen (gemessen) werden.

Die relevante Dekohärenzzeit ist viel länger als die Zeit, die benötigt wird, ein elementares Quantengatter zu realisieren, sodass mit geeignetem fehlerkorrigierendem Code die Fehlerrate pro Gatter unter der Schwelle für fehlertolerantes Quantenrechnen liegt.

Die größten Anforderungen ergeben sich aus dem ersten und dem letzten Punkt. Skalierbarkeit heißt in diesem Fall, dass es möglich sein muss, die Zahl der Qubits beliebig groß zu wählen und dass die anderen Eigenschaften unabhängig von der Zahl der Qubits erfüllt sein müssen. Die Schwelle für fehlertolerantes Rechnen liegt je nach verwendetem Code und verwendeter Geometrie des Quantenregisters bei einer Fehlerwahrscheinlichkeit von 10-4 bis 10^{-2}} 10-2 (oder noch kleineren Werten) pro Gatter. Bisher ist kein universelles Set von Gattern mit dieser Genauigkeit realisiert worden.

Oft werden die oben genannten Kriterien um zwei weitere ergänzt, die sich auf die Vernetzung innerhalb von Quantencomputern beziehen:

  • Eine Quanten-Schnittstelle (engl. quantum interface) zwischen stationären und mobilen Qubits
  • Mobile Qubits können zwischen verschiedenen Orten verlässlich ausgetauscht werden.

Die Suche nach einer skalierbaren Architektur für einen fehlertoleranten Quantencomputer ist Gegenstand aktueller Forschung.

Zu den konkretesten und weitest fortgeschrittenen Vorschlägen gehören die folgenden:

.) Quantencomputer in mikrostrukturierter Ionenfalle: Qubits werden durch den internen Zustand einzelner gefangener Ionen realisiert. In einer mikrostrukturierten Falle werden die Ionen kontrolliert zwischen Speicher- und Wechselwirkungsregionen hin- und herbewegt.[19] Anstatt die miteinander zu koppelnden Ionen in eine gemeinsame Wechselwirkungsregion zu bewegen, könnten auch langreichweitige Wechselwirkungen zwischen ihnen benutzt werden. In Experimenten an der Universität Innsbruck wurde demonstriert, dass zum Beispiel die elektrische Dipolwechselwirkung zwischen kleinen Gruppen von oszillierenden Ionen (die als Antenne wirken) zur Kopplung von Ionen, die mehr als 50 Mikrometer voneinander entfernt sind, verwendet werden kann.
.) Supraleitende Qubits in einem zweidimensionalen Netzwerk von supraleitenden Streifenleitungsresonatoren (stripline resonators).[22]
.= Quantencomputer auf Basis von Stickstoff-Fehlstellen-Zentren (NV-Zentren) in Diamant: Als Qubits fungieren Kernspins von Stickstoff-Atomen in einem zweidimensionalen Gitter von NV-Zentren; Auslese und Kopplung erfolgen über den elektronischen Spin des NV-Zentrums, wobei die Kopplung durch die magnetische Dipolwechselwirkung erreicht wird; inhomogene Magnetfelder ermöglichen die individuelle Adressierung und parallele Operation auf vielen Qubits.

https://youtu.be/XfoaR6lZJ8U

Links:
Quant
Atomorbital
Quantisierung (Physik)
Heisenbergsche Unschärferelation
Quantenmechanik
Quantenelektrodynamik
Quantenfeldtheorie
Werner Heisenberg
Bohrsches Atommodell
Quantenstatistik des Zwei-Zustands-Systems
Spin
Einstein-Podolsky-Rosen-Paradoxon
David DiVincenzo
Hilbertraum
Quantengatter
Grover-Algorithmus
Wie funktioniert ein Quantencomputer?
Quanten-Simulanten: Forscher testen Quantencomputer am Desktop-PC

Quantencomputer

Quantencomputer wird Realität – und ist bereits für jeden nutzbar
Video: Ein Google-Ingenieur erklärt, wie Quantencomputer die Welt verändern könnten
Googles neues Rechenwunder
Quantencomputer von Google: Was der revolutionäre Prozessor leistet – und wo es noch hakt
Quantencomputer: Der Beginn der kommerziellen Quanten-Ära
IBM kündigt Quantencomputer mit 20 Qubits als Web-Dienst an
Quantum
Quantencomputer

Das Bild zeigt eine Rastertunnelmikroskopaufnahme von Kobaltatomen auf einer Kupferoberfläche. Das Messverfahren nutzt Effekte, die erst durch die Quantenmechanik erklärt werden können. Auch die Interpretation der beobachteten Strukturen beruht auf Konzepten der Quantenmechanik.