hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
記憶装置 特性とスペック
情報をいつでも上書きできる。一次記憶装置としてある程度の容量の読み書き可能ストレージを持たないコンピュータは、ほとんどの場合役に立たない。現在のコンピュータは通常、二次記憶装置にも読み書き可能ストレージを使っている。言葉の文字通りの意味とはズレるのだがRAMと呼ばれている。
読み取り専用（リードオンリー）
ROM。媒体製造時に情報を記憶させる。組込みコンピュータや、起動時のためのプログラムを書き込むためや、三次記憶装置やオフラインストレージに使う。例えば、CD-ROMがある。
一度だけ書き込み可能（ライトワンス）
製造後に一度だけ書き込むことができる。WORMとも言う。ROMを少数生産する目的や、三次記憶装置やオフラインストレージに使う。例えば、PROMやCD-Rがある。
リライタブル
読み出しは自由にできるが、上書きは自由にできず、ブロック単位で一旦消去が必要であったり書き込み操作が読み取り操作よりも遥かに低速であったりする。例えば、EPROMやフラッシュメモリやCD-RWなどがある。
破壊読み出し
記憶装置 特性とスペック
書き込まれたデータを読み出す時に、内容を破壊してしまうものが破壊読み出しである。読み出し後も元の内容が以後も必要なのであれば、書き戻して（再生、等と言う）やらなければならない。代表的なものはDRAMや磁気コアメモリなど。DRAMは静電容量に記憶しているので原理的には破壊読み出しだが、普通はチップ内部の読み出し動作の中で書き戻しまでやってしまうので、ユーザーは指定されたタイミングで信号を与えて内容を読み出すだけでよい。
非破壊読み出し
書き込まれたデータを読み出す時に、内容を残したまま読み出せるものが非破壊読み出しである。代表的なものはSRAMである。
ランダムアクセス
任意の位置へのアクセスをほぼ一定の時間で行える。一次記憶装置や二次記憶装置に適している。
シーケンシャルアクセス
決められた先頭位置から逐次的にしかアクセスできない。従って、ある情報へのアクセスにかかる時間は、先頭位置からの距離に依存する。磁気テープなどの特性で、オフラインストレージに適している。
記憶装置 特性とスペック
なお、RAM（Random Access Memory）は、本来は上記のランダムアクセスのメモリという意味だが、もっぱらROM（Read only memory）に対するものとして「（ランダムアクセスで）書き込み可能」という意味で使われている。本来の書き込み可能という意味ではRWM（Read Write Memory）という表現もあるが、ほとんど使われない。
SRAMチップでは、8ビットや16ビット単位のチップが多い。それに対し、古くはDRAMチップは1ビット単位であり、8個や16個並べて実際のメモリを構成していた（そのため、コンピュータ業界ではバイト単位がもっぱらであるのに対し、メモリ業界ではビット単位が使われることも多い）。現在でもDRAMチップは4ビットか8ビット程度と、比較的少ないビット数のものを並べて利用している。
また、データの転送方法についてもバリエーションがある所で、非同期SRAMのように単純にアドレスを印加すればデータが出てくるといったものから、DDR SDRAMのように複雑なプロトコルを持つものまで、色々のものがある。
位置による指定
記憶装置 特性とスペック
0番地（あるいは1番地）から順番に振られたメモリアドレスで位置を指定する。主記憶ではもっぱらバイト単位、補助記憶ではブロック単位でアドレスが振られる（後者は以前はシリンダ・サーフェス・ヘッド、というような物理機構に依った構造のアドレスだったが、基本的には同様）
ファイルシステムによる指定
可変な大きさのサイズなどを持つファイルとして補助記憶に情報が格納されているものである。ほとんどのシステムがファイル名を使ってファイルを指定できる。さらに現代の多くのシステムは階層型ディレクトリなどによって木構造（ツリー状）の名前空間も提供しており、ファイル以外のシステム資源や情報にアクセスできるものもある（伝統的な /dev や、Linuxの /proc や /sys など）。ファイルシステムは、一般にオペレーティングシステムによって提供されている。またオープンされたファイルという形で、主記憶の管理も一部行われる。
データベース
何らかのDBMSにより管理する。
連想メモリ
連想記憶（associative memory、他に Content-Addressable Memory, CAM とも）、記憶内容自体によってアクセスしアドレスを得る、あるいは記憶内容の一部でアクセスし、その全体を読み出す、といったことができる。例えば、キャッシュメモリには、本体の記憶装置のあるアドレスの内容がキャッシュに入っているか、ということを問い合わせる必要があり、一種の連想メモリが使われる。ソフトウェアで実装したもの、あるいは抽象データ構造としては「連想配列」と呼ばれている。
容量単位は一般的な距離や速度を表すものと異なる特殊な単位と使われ方をする
記憶容量
デバイスまたは媒体が記憶できる全容量。ビット数やバイト数で表される。
記憶密度
情報をどれだけコンパクトに記憶できるかの尺度。単位長、単位面積、単位体積あたりの記憶容量。
レイテンシ
ストレージの特定位置にアクセスするのにかかる時間。一次記憶装置の場合はナノ秒単位、二次記憶装置ではミリ秒単位、三次記憶装置では秒単位程度である。読み取りと書き込みでレイテンシが異なる場合もある。シーケンシャルアクセス式の場合、ばらつきが大きいので、最小・最大・平均で表す。
スループット
単位時間当たりの読み書きの速度。ビット毎秒も使うことがあるが、通常はメガバイト毎秒などの単位を使う。レイテンシと同様、読み取りと書き込みで異なる場合もある。また、逐次的なアクセスの方がランダムなアクセスよりスループットが高くなる。
記憶装置 基本的な記憶装置技術
2018年現在、よく使われている記憶装置技術としては、半導体、磁気、光学があり、紙も限定的に使われ続けている。他にも、かつて使われていた記憶装置技術や、開発が進んでいる新技術もある。
半導体メモリは、半導体による集積回路に情報を格納する。半導体メモリには数百万個の微細なトランジスタやコンデンサが集積されている。揮発性と不揮発性の半導体メモリがある。現代のコンピュータでは、一次記憶装置にはほぼ必ずダイナミックな揮発性半導体メモリ（DRAM）を使っている。21世紀に入ったころから、フラッシュメモリと呼ばれる不揮発性半導体メモリがオフラインストレージとしてシェアを伸ばし続けている。不揮発性半導体メモリは、各種電子機器や特殊なコンピュータの二次記憶装置としても使われている。
磁気記憶装置は、ディスクやテープの表面に塗布された磁性体の磁化パターンを変化させることで情報を記憶する。磁気記憶装置は不揮発性である。情報へのアクセスに1つまたは複数の読み書き用ヘッドを使う。ヘッドには電気信号と磁気信号を相互に変換する変換器がある。ヘッドは媒体表面のごく一部にしかアクセスできないので、ヘッドや媒体を移動させることでデータにアクセスする。現在のコンピュータでは、以下のような磁気記憶装置がある。
記憶装置 基本的な記憶装置技術
初期のコンピュータでは、磁気ドラムメモリ、磁気コアメモリ、コアロープメモリ、薄膜メモリ、磁気バブルメモリなどが一次記憶装置としても使われていた。また、磁気テープは二次記憶装置として使われることが多かった。
光学記憶装置は、円板表面の性質を変化させることで情報を格納し、光学ドライブに搭載された半導体レーザーを表面に当てて反射光を測定することで情報を読み取る。光ディスクは不揮発性である。表面の変化が永久的なもの（読み取り専用媒体）、一度だけ変化させられるもの（ライトワンス媒体）、何度も書き換え可能なもの（リライタブル媒体）がある。次のような形式がよく使われている。
3次元光ディスクなどの3次元光学記憶装置や5次元光記録も提案されている。蛍光多層ディスクは、C3D が開発した新技術で3次元光ディスクの一種だが、反射光ではなく蛍光を使用することで記録層を100層にまで拡張できる。
光磁気ディスクは強磁性の表面の磁場の形で情報を記憶するストレージである。読み取りは光学的に行い、書き込みは磁気と光学を組み合わせて行う。光磁気ディスクは不揮発性で、シーケンシャルアクセス式で、書き込みは低速だが、読み取りは比較的高速である。三次記憶装置またはオフラインストレージとして使用する。
記憶装置 基本的な記憶装置技術
紙による記憶媒体としては、紙テープやパンチカードがあり、コンピュータ黎明期から広く使われてきた。情報は紙に穴を開けることで記録され、機械的または光学的に穴の位置を知ることで情報を読み取る。
記憶用真空管
ブラウン管の一種であるウィリアムス管や、セレクトロン管といった真空管があった。ウィリアムス管は論理動作に際しコンマ数ボルトという微妙な電圧の違いを検出する必要があり、また、セレクトロン管は高価という欠点があった。そういった理由から採用例は多くなく、コアメモリによって速やかに置き換えられた。
遅延記憶装置
水銀などの媒体中を伝わる音波などに波に情報を格納するものである。分類としては、ダイナミック、揮発性、シーケンシャルアクセス、読み書き可能、となる。時代が比較的遅いものとしては、同軸ケーブルを利用した電磁遅延線として1960年代の使用例がある。
PRAM（相変化記録技術）
相変化する材質で相変化させることで情報を記録し、電気抵抗や光の反射率を観測することで情報を読み取る。不揮発性、ランダムアクセス式、読み書き可能なストレージ。二次記憶装置またはオフラインストレージに使用するが、場合によっては一次記憶装置に使用する可能性もある。ライトワンスまたはリライタブルの光ディスクは、既に相変化記録技術を使っているものが多い。
記憶装置 基本的な記憶装置技術
ホログラフィックメモリ
結晶またはフォトポリマーの内部に情報を光学的に記憶する。容積全体を記憶に利用できる。不揮発性、シーケンシャルアクセス式、ライトワンスまたは読み書き可能なストレージ。二次記憶装置またはオフラインストレージとして使用する可能性がある。HVD（ホログラフィック・バーサタイル・ディスク）も参照。
分子メモリ
ポリマーの中に電荷の形で情報を記憶する。一次記憶装置に適しているのではないかと言われている。
DNAメモリ
DNAの塩基配列を書き換えて記憶する。最大500TBほど記憶可能と言われている。マイクロソフトが研究中。
波動関数
波動関数（はどうかんすう、英: wave function）は、量子力学において純粋状態を表す複素数値関数。量子論における状態については量子状態を参照。
波動関数 定義
ここでは量子状態を表す状態ベクトルから波動関数を定義する。ただし状態ベクトルと波動関数は等価であるため（後述）、扱う問題に応じて状態ベクトルと波動関数による表現を行き来することができる。
あるオブザーバブルを表すエルミート演算子  を考え、その固有値  が離散的であるとする。エルミート演算子  の性質として、全ての固有ベクトルの集合  は完全系をなすため、任意の状態ベクトル  は  の線形結合（重ね合わせ）として表すことができる。
上記の展開係数  を「基底  表示での波動関数」と呼ぶ。
またエルミート演算子の固有ベクトルは互いに直交する（ように選べる）。 が正規直交基底をなすとすると、この式と  との内積をとることで  にかかる展開係数が得られる。
このように基底を一つに決めると、状態ベクトルと波動関数は片方が分かればもう片方を求めることができ、一対一対応の関係になっている。したがって波動関数は、その変数が決まっているときには状態ベクトルと等価である。このため波動関数は量子状態を表す関数として用いることができる。
波動関数 定義
一般的に量子状態は複素ヒルベルト空間上のベクトルで表されるため、波動関数は一般的に複素数関数である。
基底として位置を表す演算子  の固有ベクトル、つまり位置が定まった状態の全体  を選んだ場合、任意の状態を  の重ね合わせで表現できる。この基底に対する係数  を座標表示での波動関数、あるいはシュレーディンガーの波動関数などと呼ぶ。
通常、位置は連続的な値を取るため、状態ベクトルの展開は形式的に積分形で表される：
波動関数  を定めれば  は一意的に決まるので、 の代わりに  を用いても状態を表すことができる。
基底として運動量を表す演算子  の固有ベクトル、つまり運動量が定まった状態の全体  を選んだ場合、 を運動量表示での波動関数と呼ぶ。
ここでは関数のラベルとして位置表示と同じ文字  を用いたが、その関数形は全く異なることに注意。
波動関数 確率振幅
ボルンの規則によると、ある状態における物理量（オブザーバブル）の測定（理想測定）をしたとき、その測定値の確率分布は次のように、物理量による表示をした波動関数の絶対値の二乗となる。このように (絶対値) 二乗が確率を与えるものを確率振幅と呼ぶ。
例えば、ある状態における運動量の測定を数多くしたとき、測定値が「運動量を表すエルミート演算子の固有値の一つ」である頻度は
に収束する。
他にも、波動関数  の絶対値二乗は、位置の測定を行った場合の測定値の確率分布を与える。
より正確には、位置の固有値が離散的である場合、「状態  において時刻  で位置  の理想測定をしたとき、測定値のバラつきを表す確率分布が  である」。

しかし、そのためには、全空間のどこかで観測される確率は1 (100％) であることから、
のように規格化される。
位置の観測量が連続的に与えられている場合は、「測定値がある一点である確率」は意味を成さない。そのような場合、は、確率ではなく、「小区間  の中に観測される確率密度」として扱われ、規格化条件も和から積分へ変わる。
波動関数 確率振幅
積分変数が位置になっていて、長さの次元を持つことからも分かる通り、物理量の固有値が連続的に存在する場合（連続スペクトル）、対応する確率分布の次元は、無次元ではなく、物理量の逆の次元、この場合は「（長さの逆数）」になる。このとき、は「単位長さ当たりの確率」、すなわち確率密度として解釈される。
なお、波動関数の絶対値二乗が「存在確率」と言われることもあるが、正確ではない。確率解釈では、ボルンの規則は「理想測定を行った場合の測定結果の確率分布」であって、測定を行っていない場合の「存在」や「確率」について何かを言っているわけではない。
離散スペクトルと連続スペクトルの規格化条件を見比べてみると、それぞれの波動関数の次元は異なることがわかる。
波動関数 重ね合わせ
波動関数の線形結合によって別の波動関数を作ることができる。
例えば2つの異なる波動関数  と  の線形結合として、新たな波動関数  を考えることができる。
この波動関数の二乗絶対値は以下のように書ける。
第1, 4項はそれぞれ  および  の与える確率密度に（係数を除き）一致するが、第2, 3項はどちらにも一致しない。第2, 3項は2つの波動関数  の干渉を生じさせる。
逆に、ある状態をいくつかの状態の重ね合わせに分解することもできる。重ね合わせに関する有名な思考実験にシュレーディンガーの猫がある。
波動関数 固有状態
物理量を表すエルミート演算子の固有関数は、その物理量の固有状態と呼ばれる。固有状態は、物理量が確定した値をもつような状態である。
特に重要なのは、全エネルギーを表すハミルトニアンの固有関数であり、エネルギー固有状態と呼ばれる。ハミルトニアンの固有値方程式は時間に依存しないシュレーディンガー方程式と呼ばれる。
化学や物性物理学の分野では、エネルギー固有状態は軌道（関数）とも呼ばれる。
波動関数 波動関数の時間変化
波動関数の時間変化は、次の式に従う。
ここで  は換算プランク定数、 はハミルトニアンである。
この式は時間に依存するシュレーディンガー方程式と呼ばれる。
この時間変化はユニタリー変換であり、時間変化しても確率が保存されている。
波動関数 測定に伴う変化
波動関数  で表される量子状態に対して、物理量  の測定（理想測定）を行ったとする。ボルンの規則によれば、 の固有値のいずれかが測定値として得られる。測定値が  だったとすると、測定後の（測定結果を条件とした）量子状態は固有値  に対応する固有状態となり（射影仮説）、
測定後の量子状態を表す波動関数は測定前の  と大きく異なることがある。
これを「波動関数の収縮」ということがある。
このような測定に伴う波動関数の変化（ないし更新）は、前述のシュレーディンガー方程式で表されるものとは異なる。
波動関数 解釈問題
ボルンの規則に従って、波動関数の絶対値の2乗は、その波動関数の基底となる固有状態を見出す確率ないし確率密度関数と対応付けられることが知られている。
他方、量子力学の枠組みにおいて、系の状態は波動関数によって指定される。これは古典力学において適当な物理量の値の組で系の状態を指定できたことと対照的である。
古典力学に基づくなら、物理量の値は測定せずとも定まっていると考えることができたが、量子力学に基づくなら、物理量の値そのものを決定することはできず、その確率分布しか知ることができない。
系が確率的に振る舞うことに対して、古典的な確率現象のように何らかの粗視化や系に対する知識の不足によって生じていると考えるのではなく、本質的に確率的な振る舞いをしていると考えるならば、前述の古典力学的な描像で系の状態を考えることは困難となる。
波動関数 解釈問題
また、測定に伴って被測定系へ及ぼされる影響についても古典力学と量子力学で異なる点がある。
古典論では被測定系の状態を変化させずに物理量を測定できると考えることができたが、量子論においては、例えばある物理量を正確に測定した場合、測定系にとっての被測定系の状態は、測定に伴って測定値に対応する固有状態に変化していると考えなければならない。
前述の通り、波動関数は測定値の確率分布に関連しているため、確率分布が測定に伴って変化するならば、測定に伴って波動関数もまた変化しなければならない。
特に、物理量を正確に測定した場合、波動関数は対応する固有状態へ「収縮」する。
もし波動関数が（例えば電磁場のような）物理的実体を伴うものだと考えると、この「波動関数の収縮」の解釈には困難が伴うことが知られている。例えばEPRパラドックスとして指摘されたように、（量子力学の理論上）測定に伴って光速を超えて（従って相対性理論に整合しない）「収縮」が生じているように見える系について、そのような「収縮」が起こり得ないことを説明する必要が生じる。
波動関数 解釈問題
もう一つの波動関数の重要な性質として、波動関数の重ね合わせとそれに伴う干渉がある。例えば二重スリット実験では、単スリット実験から得られる波動関数の重ね合わせによって、二重スリット系の波動関数が得られる。二重スリット系の粒子の存在確率分布は、単スリットの波動関数同士の干渉により、単スリット系での分布の重ね合わせとは異なることが知られている。この干渉は、スリットを通過する粒子の運動を（純粋に）古典力学的に解釈する限り説明できない。
確率的な振る舞いと重ね合わせに関連して、量子系と古典系が相互作用する系では「シュレーディンガーの猫」のような微妙な状態が存在し得る。通常、「猫」のような巨視的な対象は古典力学に従った振る舞いをすると考えられるが、測定器系を通じて崩壊性原子のような系と相関している場合、量子力学に従うならば、「猫の生死」のような巨視的な事象まで被測定系の振る舞いに依存してしまうことが示唆される。特に測定前の状態においては、猫系もまた量子力学的な重ね合わせ状態として記述されなければならない。
波動関数の「実在」を認めるなら、猫の重ね合わせ状態もまた何らかの形で「実在」すると考えなければならない。
波動関数 解釈問題
「シュレーディンガーの猫」の思考実験から発展して、「ウィグナーの友人」のような系を考えることができる。「ウィグナーの友人」系では何らかの量子系に対して測定を行う系1（「友人」）と、系1に対して測定を行う系2（「ウィグナー」）が登場する。系1にとって測定結果を得た時点で対象の量子系の波動関数は「収縮」したように見えるが、系2にとっては系1の測定結果を（系1を通じて）観測するまで、量子系の波動関数は「収縮」していないように見える。このように「収縮」がいつどのように生じたかは、観測者の立場に依存しているように見える。
以上のような波動関数によって示唆される「現象」に対して、その解釈を巡って様々な提案がなされている。よく知られている例として、コペンハーゲン解釈、多世界解釈、ボーム解釈などが挙げられる。これらの解釈は波動関数がシュレーディンガー方程式に従って時間発展することは認めるが、観測に伴う干渉の消失（デコヒーレンス）や「波動関数の収縮」のメカニズムや波動関数が測定値の確率分布に対応する理由に対する説明が異なっており、そのため理論の適用範囲や検証可能性がしばしば議論の対象となっている。
典型的なコペンハーゲン解釈においては、波動関数は客観的な実体あるものではなく、観測者の主観によって定まるとされる。従ってコペンハーゲン解釈の下では、「波動関数の収縮」は非物理的な現象であり、相対論を破るものとは考えない。
多世界解釈では、「波動関数の収縮」は生じず、量子系はあくまでシュレーディンガー方程式に従って連続的に（ユニタリ）時間発展をすると考える。多世界解釈において「波動関数の収縮」に相当する過程は、観測者が辿り得た歴史の（互いに干渉することのない）分岐として表現される。
波動関数 数学的定式化
２つの波動関数の重ね合わせ(加算)が物理的に意味を持つので、波動関数は加算に関する数学である線形代数に従うと期待される。しかし、波動関数の線形代数での次数を有限な自然数Ｎと仮定すると、正準交換関係と両立しない。したがって線形代数を使うことにこだわるならば、いわば「無限次元」の線形代数を使用しなければならない。ノイマンはユークリッド空間の無限次元版であるヒルベルト空間を用い、質点の量子力学での波動関数の数学的定義を作成した。しかし、同じ手法は多粒子の量子論、場の量子論では十分な成功を収めておらず、波動関数・量子場の数学的定式化は未解決の問題である。
波動関数の数学的定式化に関する試みの一つとして、ノイマンとは異なる数学的定義を用い、虚数を廃した実数だけの量子力学を建設する試みが複数行われている。ある試みでは、水素原子からの光の波長についてはシュレーディンガー方程式と同じ結果になるが、多粒子系については通常の量子力学と異なる結果になり、実験値との差が大きいため、複素数を使う通常の量子力学より優位であるとは言えない。
波動関数 数学的定式化
この「実数だけの量子力学を作る」という試みは、通常の量子力学とは別の基礎方程式を出して優劣を議論する、というものであり、基礎方程式を変更しない多世界解釈とは異なる。多世界解釈は実験に対応する物理量の定義を変更しようとするものであるが、上記の実数だけの量子力学は物理量の定義を変更するものではない。
熱力学では数学的定式化の改良において、熱力学の公理系の変更と並んで物理量の定義の変更も試みられている。それと比較して、量子力学の数学的定式化の理解、すなわち、波動関数の数学的定義、量子力学の公理系、量子力学の数理論理的な性質(量子論理)についての理解は不十分である。
並列化
並列化（へいれつか、英: parallelization）は、コンピュータにおいて、同時に複数の演算処理を実行すること（並列計算）によって処理のスループットを上げるプログラミング手法である。対義語は逐次化（英: serialization）。ハードウェアの資源を有効活用するための最適化手法のひとつである。
並列化 概要
コンピュータにおいて処理を実行する場合、もっとも単純な方法は、与えられたプログラムステップを最初から最後までひとつずつ順番に実行していくことである。これを逐次処理 (serial processing) と呼ぶ。一方、SIMD命令をサポートするプロセッサや、複数のプロセッサ（マルチソケットプロセッサあるいはマルチコアプロセッサ）を搭載するコンピュータでは、複数の異なるデータを同時に処理したり、複数の異なるステップを同時に実行したりすることもできる。これを並列処理 (parallel processing) と呼ぶ。逐次処理を並列処理にすることを並列化という。シングルコア性能の向上が頭打ちになるにつれ、並列化による高速化は重要性を増している手法である。
複数の異なるステップ（タスク）を並列実行できることをタスク並列性、複数の異なるデータに対して同じ処理を並列実行できることをデータ並列性という。
並列化 概要
並列化の主な内容は、全体の問題をいくつかの独立したタスクあるいはデータストリームに分割し、タスクあるいはデータストリームを複数のプロセッサ (具体的にはCPUやGPUなどにおける各コア) に割り当て、処理を同時実行させ、最後に分割されたタスクを同調させたり、あるいはデータストリームを統合したりして最終結果を得ることである。ソフトウェアレベルでは並列化の実装単位にプロセスやスレッドが利用される。並列化は本質的に並列化可能な（主にデータ間に相互依存性のない）問題にのみ適用できる。問題の分割手法には領域分割（データ分割）、機能分割（タスク分割）があり、両方を組み合わせることもある。
並列化には主に2つのアプローチがある。
多くの要因・手法が並列化のパフォーマンスに影響を及ぼす。並列化により、プロセッサの数（あるいはSIMD命令により同時処理できるデータの数）に比例してプログラムの処理速度が倍速化されるが、実際にはプログラム中に占める並列化可能な領域の割合に左右されたり、並列アルゴリズムの内容やハードウェアのキャッシュ能力に依存したりする。アムダールの法則や偽共有も参照。
並列化 概要
ロードバランシングは負荷の高いプロセッサから負荷の低いプロセッサへとタスクを移すことで、すべてのプロセッサをビジーに保とうとする。
単一CPUのシステムで正しく動作するプログラムでも並列環境ではそうではないこともある。これは同一のプログラムの複数のコピーが互いに干渉しあう（例えば、同時に同じメモリ領域を読み書きする）からである。そのため、並列環境では入念なプログラミング（排他制御）が必要となる。
もしコンピュータにプロセッサがひとつしかなく、なおかつSIMD命令をサポートしない場合は逐次処理しかできず、並列処理（並列計算）はできない。一方、並行処理（並行計算）は可能である場合もある。例えば汎用的なオペレーティングシステムではごく短時間で実行タスクを切り替えて複数のタスクを疑似的に同時実行することのできるマルチタスクシステムが採用されることが多い。並行処理はスループットの改善のためではなく、主にシステムの応答性の改善のために利用される。
並列化 自動並列化
自動並列化とは、並列化コンパイラを使用して、字面的にそのまま解釈すれば逐次的に計算を行うようなプログラムのソースコードを変換し、並列計算を行うようなオブジェクトコードを得る手法である。並列計算機の並列計算能力を活用するために行われる。自動並列化の目的はプログラマを退屈でエラーの起きやすい並列化作業から解放することである。技術的には非常に進歩したが、必要なプログラム解析の複雑さやコンパイル時には不明な要因（例えば、入力データの範囲）などのために、逐次的なプログラムの完全な自動並列化は未だ達成されていない。
自動並列化で主に焦点が当てられるプログラム制御構造はループである。なぜなら、一般的にプログラムの実行時間のほとんどは何らかのループの中で消費されるからである。自動並列化コンパイラはループを分解し、繰り返しが別々のプロセッサで並行に実行されるようにする。
並列化 並列プログラミングモデル
並列プログラミングモデルとは、並列なアルゴリズムを表現し、アプリケーションを動作環境である並列システムに適合させるためのソフトウェア群である。これらのソフトウェアは並列化ツールキットなどとも呼ばれる。並列プログラミングモデルが扱う領域には、アプリケーション、言語、コンパイラ、ライブラリ、通信システム、並列入出力などがある。これは明示的な並列化の手法であり、自動並列化の適用の難しさを避けている。並列プログラムの生産性を高めるため、並列アプリケーションの開発者は適切な（単一または複数の）並列プログラミングモデルを選んで使用する。
並列プログラミングモデルの実装方法にはいくつか種類がある。既存の逐次処理言語用のライブラリ、言語の拡張仕様、またはまったく新しい実行モデルなどである。それらはさらに2種類に大まかに分類される。メモリ共有型とメモリ分散型である。しかしながら、この2つの境界は曖昧なものとなっている。
高速フーリエ変換
高速フーリエ変換（こうそくフーリエへんかん、英: fast Fourier transform, FFT）は、離散フーリエ変換（英: discrete Fourier transform, DFT）を計算機上で高速に計算するアルゴリズムである。高速フーリエ変換の逆変換を逆高速フーリエ変換（英: inverse fast Fourier transform, IFFT）と呼ぶ。
高速フーリエ変換 概要
複素関数 f(x) の離散フーリエ変換である複素関数 F(t) は以下で定義される。
このとき、{x = 0, 1, 2, ..., N − 1} を標本点と言う。
これを直接計算したときの時間計算量は、ランダウの記号を用いて表現すると O(N2) である。
高速フーリエ変換は、この結果を、次数Nが2の累乗のときに O(N log N) の計算量で得るアルゴリズムである。より一般的には、次数が N = ∏ ni と素因数分解できるとき、O(N∑ni) の計算量となる。次数が 2 の累乗のときが最も高速に計算でき、アルゴリズムも単純になるので、0 詰めで次数を調整することもある。
高速フーリエ変換を使って、畳み込み積分などの計算を高速に求めることができる。これも計算量を O(N2) から O(N log N) まで落とせる。
現在は、初期の手法 をより高速化したアルゴリズムが使用されている。
高速フーリエ変換 概要
逆変換は正変換と同じと考えて良いが、指数の符号が逆であり、係数 1/N が掛かる。
高速フーリエ変換のプログラム中、どの符号が逆転するかを一々分岐させると、分岐の判定に時間がかかり、パフォーマンスが落ちる。一方、正変換のプログラムと、逆変換のプログラムを両方用意しておくことも考えられるが、共通部分が多いため、無駄が多くなる。このため、複素共役を使った次のような方法が考えられる。
離散フーリエ変換を
で定義したとき、逆変換は
となる。
このため、F(t) の離散フーリエ逆変換を求めるには、
(1) 複素共役を取り、F(t) を求める、
(2) F(t) の正変換の離散フーリエ変換を高速フーリエ変換で行う、
(3) その結果の複素共役を取り、N で割る
とすれば良く、正変換の高速フーリエ変換のプログラムがあれば、逆変換は容易に作ることができる。
高速フーリエ変換 アルゴリズム
クーリー–テューキー型アルゴリズムは、代表的な高速フーリエ変換 (FFT) アルゴリズムである。
分割統治法を使ったアルゴリズムで、N = N1 N2 のサイズの変換を、より小さいサイズである N1,  N2 のサイズの変換に分割していくことで高速化を図っている。
最もよく知られたクーリー–テューキー型アルゴリズムは、ステップごとに変換のサイズをサイズ N/2 の2つの変換に分割するので、2 の累乗次数に限定される。しかし、一般的には次数は 2 の累乗にはならないので、素因数が偶数と奇数とで別々のアルゴリズムに分岐する。
伝統的なFFTの処理実装の多くは、再帰的な処理を、系統だった再帰をしないアルゴリズムにより実現している。
クーリー–テューキー型アルゴリズムは変換をより小さい変換に分解していくので、後述のような他の離散フーリエ係数のアルゴリズムと任意に組み合わせることができる。とりわけ、N ≤ 8 あたりまで分解すると、固定次数の高速なアルゴリズムに切り替えることが多い。
離散フーリエ係数は、1の原始 N 乗根の1つ WN = e−2πi/N を使うと、次のように表せる。
例えば、N = 4 のとき、、とすれば、離散フーリエ係数は行列を用いて表現すると（W = W4 と略記）
高速フーリエ変換 アルゴリズム
となる。入力列 xk を添字の偶奇で分けて、以下のように変形する。
()
すると、サイズ 2 のFFTの演算結果を用いて表現でき、サイズの分割ができる。
また、この分割手順を図にすると蝶のような図になることから、バタフライ演算とも呼ばれる。
バタフライ演算は、計算機上ではビット反転で実現される。DSPの中には、このバタフライ演算のプログラムを容易にするため、ビット反転アドレッシングを備えているものがある。
FFTの原理は、N = PQ として、N 次離散フーリエ変換を、P 次離散フーリエ変換とQ 次離散フーリエ変換に分解することである。
N 次離散フーリエ変換：
を、n = 0, 1, ..., N − 1 について計算することを考える。n, k を次のように書き換える。ただし 0 ≤ n ≤ N − 1 また 0 ≤ k ≤ N − 1 である。
すると
ここで、
と置くと、
となる。即ち、F(n) = F(sQ + r) の計算は、次の2ステップになる。
ステップ1
p = 0, 1, ..., P − 1 と r = 0, 1, ..., Q − 1 について
を計算する。これは、Q次の離散フーリエ変換
高速フーリエ変換 アルゴリズム
の実行と、回転因子 exp(−2πipr/PQ) の掛け算を、全ての p, r の組（PQ = N 通り）に対して行うことと見ることができる。
ステップ2
s = 0, 1, ..., P − 1 と r = 0, 1, ..., Q − 1 について
を計算する。ここで、右辺は r を固定すれば、P 次の離散フーリエ変換である。
ステップ1、2は、N = PQ 次の離散フーリエ変換を、Q 次の離散フーリエ変換と回転因子の掛け算の実行により、Q 組 (r = 0, 1, ..., Q − 1) の P 次離散フーリエ変換に分解したと見ることができる。
N 次離散フーリエ変換の問題　⇒　Q 次離散フーリエ変換の実施　⇒　N/Q 次離散フーリエ変換の問題に帰着
特に、Q が2または4の場合は、Q次離散フーリエ変換は非常に簡単な計算になる。
Q = 2 かQ = 4 の場合のこの部分のQ次離散フーリエ変換のことを、バタフライ演算と言う。
高速フーリエ変換 アルゴリズム
また､N = Qk (P = Qk − 1) の場合には、上を繰り返すことができ、Q 次の離散フーリエ変換と回転因子の掛け算を繰り返すことだけで次数を下げられ、最終的に1次離散フーリエ変換（何もしないことと同じ）にまで下げると、F(t)を求めることができる。
このため、2の累乗あるいは4の累乗次の離散フーリエ変換は、両方の性質を利用でき、非常に簡単に計算できる。
また、Q = 2かQ = 4の場合において、計算を終了するまでに何回の「掛け算」が必要かを考える。符号の逆転、実部虚部の交換は「掛け算」として数えなければ、回転因子の掛け算のみが「掛け算」である。N = Qkの次数を1落とすためにN回の「掛け算」が必要であり、次数をkから0に落とすにはそれをk回繰り返す必要があるため、「掛け算」の数は Nk = N logQ N となる。高速フーリエ変換の計算において時間がかかるのは「掛け算」の部分であるため、これが「高速フーリエ変換では計算速度は O(N log N) になる」ことの根拠になっている。
上記の説明で、 の場合、N = Qk 個のデータから、N = Qk 個の計算結果
高速フーリエ変換 アルゴリズム
を計算する場合に、メモリの節約のため、0 ≤ q ≤ Q − 1 と 0 ≤ r ≤ Q − 1 を利用し、計算結果  を元データ のあった場所に格納することが多い。これが次の次数  Qk − 1 でも繰り返されるため、とすると、次の次数の計算結果はのあった場所に格納される。繰り返せば、とすると、計算結果はのあった場所に格納される。
一方、
を、r を固定し s を変数とした  Qk − 1 次離散フーリエ変換と見なして、とすると、
となる。繰り替えせば、
となるが、左辺について
より sk = 0, また右辺について
より pk = 0。このため、
これは  のあった場所に格納されている。
このように、求める解  が  のあった場所に格納されていることを、ビット反転と言う。これは、Q 進法で表示した場合、 は となるのに対し、は逆から読んだとなるためである。
以下は、高速フーリエ変換のプログラムを Q = 4 の場合にMicrosoft Visual Basicの文法を用いて書いた例である。
この例では、最深部 (For k、Next k の間の部分)の繰り返し回数が Ndeg log4 Ndeg となっている。
高速フーリエ変換 実数および対称的な入力への最適化
多くの応用において、FFTに対する入力データは実数の列(実入力)であり、このとき変換された出力の列は次の対称性を満たす（    は複素共役）：
そこで、多くの効率的なFFTアルゴリズム は入力データが実数であることを前提に設計されている。
入力データが実数の場合の効率化の手段としては、次のようなものがある。
かつては実数の入力データに対するフーリエ係数を求めるのには、実数計算だけで行える離散ハートリー変換 (discrete Hartley transform, DHT)を用いると効率的であろうと思われていた。しかしその後に、最適化された離散フーリエ変換 (discrete Fourier transform, DFT) アルゴリズムの方が、離散ハートリー変換アルゴリズムに比べて必要な演算回数が少ないということが判明した。また当初は、実数入力に対してブルーン (Bruun) FFT アルゴリズムは有利であると云われていたが、その後そうではないことが判った。
また、偶奇の対称性を持つ実入力の場合には、DFTはDCTやDSTとなるので、演算と記憶に関してほぼ2倍の効率化が得られる。よって、そのような場合にはDFTのアルゴリズムをそのまま適用するよりも、DCTやDSTを適用してフーリエ係数を求める方が効率的である。
高速フーリエ変換 歴史
高速フーリエ変換といえば一般的には1965年、ジェイムズ・クーリー (J. W. Cooley) とジョン・テューキー (J. W. Tukey) が発見した とされているクーリー–テューキー型FFTアルゴリズムのことをさす。同時期に高橋秀俊がクーリーとテューキーとは全く独立にフーリエ変換を高速で行うためのアルゴリズムを考案していた。しかし、1805年頃に既にガウスが同様のアルゴリズムを独自に発見していた。それは彼の没後に刊行された全集に収録されている（本ページの外部リンク先に同じ文章PDFへのリンクがある）。ガウスの論文以降、地球物理学や気候や潮位解析などの分野などで測定値に対する調和解析は行われていたので、計算上の工夫を必要とする応用分野で受け継がれていたようである（たとえば、Robart L. Nowack: "Development of the FFT and Applications in Geophysics", in Proceedings of the Cornelius Lanczos International Centenary Conference,SIAM, ISBN 978-0898713398 (1994), pp.395-397、の中では Danielson and Lanczos（1942年）などの先行例をあげている。和書でも沼倉三郎：「測定値計算法」、森北出版、（1956年）には，一般の合成数Nに対してではないが、人が計算を行う場合にある程度の大きさまでの合成数Nについてどのように計算すればよいかについての説明をみることができる）。
高速フーリエ変換 歴史
以下の書籍にも、天体観測の軌道の補間のためにガウスが高速フーリエ変換を利用したことが書かれている。
高速フーリエ変換 学習用図書
今後記述を追加の予定
Rockmore, D.N. (2004). Recent Progress and Applications in Group FFTs. In: Byrnes, J. (eds) Computational Noncommutative Algebra and Applications. NATO Science Series II: Mathematics, Physics and Chemistry, Vol.136, Springer, ISBN 978-1-4020-1982-1. ※ 群上の調和解析
局所密度近似
局所密度近似（きょくしょみつどきんじ、英: Local Density Approximation、略称LDA）は、密度汎関数理論（DFT）における理論に現れる交換相関（XC）エネルギー汎関数に対する近似の一部類である。空間中の各点での電子密度の値だけに依っている（密度の導関数やコーン–シャム軌道には依存しない）。多くのアプローチによってXCエネルギーに対する局所近似を得ることができる。しかしながら、圧倒的に成功を収めている局所近似は均一電子ガス（HEG）モデルから導かれたものである。この点に関しては、LDAはHEG近似に基づく汎関数と一般的に同義である。
一般に、スピン非偏極系について、交換相関エネルギーに対する局所密度近似は次のような関数系を仮定する。
上式において、ρは電子密度、εxcは電荷密度ρを持つ均一電子ガスの粒子毎の交換相関エネルギーである。この仮定では空間の各点で（つまり局所的に）電子の交換・相関エネルギー密度が決まっており、はその場所の電子密度だけの関数になっている。この交換相関エネルギーは交換項と相関項に線形に分解される。
こうすることで、ExとEcについて別々の式を探すことができる。交換項はHEGに対して単純な解析形を取る。相関密度については限定的な式しか厳密に知られておらず、εcに対する膨大な数の異なる近似が生み出された。
局所密度近似
ホーヘンベルグ・コーンの定理によれば、このは取り扱う系に依存しない普遍的な関数である。よって、もし局所密度近似が妥当であれば、は（計算しやすい）一様電子系について求めた値でも、実際に計算したい系の値でも同じはずである。このようにして、一様電子系についてもとめたを用いることが正当化され、実際の計算に用いることができる。
実際に用いられるの関数形は、厳密に求められる低密度、高密度の極限からの外挿によるものや、モンテカルロ法を使ったものなどがある。
局所密度近似は、一般化勾配近似（GGA）や混成汎関数といった交換相関エネルギーに対するより洗練された近似の構築において重要である。これは、いかなる近似交換相関汎関数も均一電子ガスの厳密な結果を再現することが望まれるためである。こういったものとして、LDAはこういった汎関数の陽な混成要素としてしばしば取り入れられている。
局所密度近似 応用
局所密度近似はGGAと同様に固体物理学者によって半導体酸化物やスピントロニクスを含む半導体素材中の電子および磁気相互作用を解釈するためのDFT研究において広範に利用されている。これらの計算研究の重要性は、第一原理に基づく解析を必要とする合成パラメータに対する高い感受性を引き起す系の複雑さに由来する。ドープされた半導体酸化物中のフェルミ準位とバンド構造の予測はCASTEPやDMol3といったシミュレーションパッケージに取り入れられたLDAを使ってしばしば行われる。しかしながら、LDAおよびGGAとしばしば関係しているバンドギャップ値の過小評価は、こういった系における不純物媒介伝導性とキャリア媒介磁性の両方またはいずれか一方の誤った予測をもたらしうる。1998年に始まった固有値についてのレイリーの定理の応用によって、LDAポテンシャルを使って、材料のほとんど正確なバンドギャップの計算が可能となっている。DFTの第2定理に対する誤解は、LDAおよびGGA計算によるバンドギャップの過小評価の大半を説明するように思われる。
局所密度近似 均一電子ガス
電子密度にのみ依存したεxcに対する近似は数多くのやり方で開発することができる。最も成功を収めているやり方は均一電子ガス（HEG）に基づく。これは、相互作用のあるN個の電子を、系を中性に保つ正の背景電荷を有する体積Vに置くことによって構築される。NおよびVは次に、電子密度 (ρ = N / V) を有限に保つようなやり方で無限大まで持っていかれる。これは、全エネルギーが運動エネルギーおよび交換-相関エネルギーのみからの寄与によって構成され、波動関数が平面波の観点から表現できるため有用な近似である。具体的には、一定密度ρに対して、交換エネルギー密度はρ⅓に比例する。
局所密度近似 交換汎関数
HEGの交換エネルギー密度は解析的に知られている。交換に対するLDAは、密度が均一でない系における交換エネルギーがHEGの結果を各点に適用することによって得られるという近似の下でこの式を使用して、以下の式を得る。
局所密度近似 相関汎関数
HEGの相関エネルギーに対する解析表式は、それぞれ無限に弱い相関と無限に強い相関に対応する高密度および低密度限界で利用可能である。電子密度ρを持つHEGについて、相関エネルギー密度の高密度限界は
であり、低密度限界は
である。上式において、Wigner-Seitzパラメータは無次元である。これは、厳密に1つの電子を包含する球の半径をボーア半径で割った値として定義される。Wigner-Seitzパラメータは密度と以下の式で結び付けられる。
密度の全領域に対する解析表式は多体摂動論に基づいて提案されてきた。計算された相関エネルギーは2ミリハートリー以内で量子モンテカルロシミュレーションの結果と一致する。
HEGのエネルギーに対する精密な量子モンテカルロシミュレーションは複数の中間的値の密度について実行され、次々に相関エネルギー密度の精密な値を与えてきた。相関エネルギー密度に対する最も人気のあるLDAは、厳密に知られている漸近挙動を再現しながら、シミュレーションから得られたこれらの正確な値を内挿する。εcに対する異なる解析形式を使った様々なアプローチによって相関汎関数に対する複数のLDAが生み出されてきた。
これらや、DFTそれ自身の形式的樹立よりさえも前から存在するのがHEGモデルから摂動論的に得られるWigner相関汎関数である。
局所密度近似 スピン偏極
スピン偏極系への密度汎関数の拡張は、厳密なスピンスケーリングが知られている交換については明快であるが、相関についてはさらなる近似が用いられなければならない。DFTにおけるスピン偏極系は2つのスピン密度ραおよびρβ（ ρ = ρα + ρβ）を用い、局所スピン密度近似（Local Spin Density Approximation, LSDA）の形式は
である。LSDAはバンド計算において磁性（強磁性、反強磁性、ハーフメタリックなど）やスピンの問題（スピン分極）を扱う時に使用される。
交換エネルギーについては、（局所密度近似に対してのみではない）厳密な結果がスピン非偏極汎関数の観点から知られている。
相関エネルギー密度のスピン依存性は相対スピン偏極度
を導入することによってアプローチする。は等しいおよびスピン密度を持つ常磁性スピン非偏極状況に対応しするが、は一方のスピン密度が消滅する強磁性状況に対応する。全密度および相対偏極度の所与の値に対するスピン相関エネルギー密度εc(ρ,ς) は極値を内挿するように構築される。いくつかの形式がLDA相関汎関数と共に開発されてきた。
局所密度近似 実例となる計算
LDA計算は実験値とまあまあの一致を示す。
局所密度近似 交換-相関ポテンシャル
局所密度近似に対する交換-相関エネルギーに対応する交換-相関ポテンシャルは以下の式で与えられる。
有限の系においては、LDAポテンシャルは指数関数的な形で漸近的に減衰する。これは誤りである。真の交換-相関ポテンシャルはクーロン的によりゆっくりと減衰する。人為的に急速な減衰は、ポテンシャルが束縛できるコーン・シャム軌道の数（つまり、ゼロ未満のエネルギーを持つ軌道の数）に現れる。LDAポテンシャルはリュードベリ系列を支持できず、ポテンシャルが束縛するそれらの状態はエネルギーが高過ぎる。これはエネルギー的に高過ぎるHOMOエネルギーをもたらし、クープマンズの定理に基づくイオン化ポテンシャルに対する予測は精度が低い。そのうえ、LDAは陰イオンといった電子豊富種のまずい描写を与える。こういった場合、LDAはしばしば追加の電子を束縛することができず、陰イオン種が不安定であると誤って予測する。
局所密度近似 LDAを越える試み
LDAを越える試みとは、局所密度近似 (LDA) の問題点を解消する新たな手法を見出す試みの総称である。
局所密度近似は大変成功した近似であるが、実際の系に対する様々な計算の結果、その限界もまた露わになってきた。代表的な問題点とその克服に向けたアプローチについて記述する。
以下のようなものが提案、試行されている。
さらに、交換項を（ハートリー-フォック法での交換項として）厳密に取り扱うアプローチ (Exact Exchange)、密度汎関数理論の有限温度への拡張や、電子の多体問題をより直接的に扱う方法（量子モンテカルロ法による）、また動的平均場法などの強相関電子系でのモデル計算で開発された手法と組み合わせ、電子相関の効果を導入する研究がされているが、まだ汎用的な計算手法とは言い難く、簡単な系でのテスト計算どまりである。
状態密度
固体物理学および物性物理学において、系の状態密度（じょうたいみつど、英: density of states, DOS）とは、微小なエネルギー区間内に存在する、系の占有しうる状態数を各エネルギーごとに記述する物理量である。気相中の原子や分子のような孤立系とは異なり、密度分布はスペクトル密度のような離散分布ではなく連続分布となる。あるエネルギー準位において DOS が高いことは、そこに占有しうる状態が多いことを意味する。DOS がゼロとなることは、系がそのエネルギー準位を占有しえないことを意味する。一般的に DOS とは、空間的および時間的に平均されたものを言う。局所的な変動は局所状態密度 (local density of states, LDOS) と呼ばれ区別される。
状態密度 概要
量子系において、波もしくは波動的粒子は系によって定まる波長と伝播方向をもつモードもしくは状態を占める。特定の状態のみが許容されることも多く、系によっては物質の原子間距離と原子核電荷により特定の波長の電子のみが存在を許容される場合もある。また、物質の結晶構造により波が一方向にのみ伝播を許容され、別の方向への伝播が抑制されるような系もある。したがって、特定の波長においては多くの状態が許容され、別のエネルギー準位には全く許容される状態が存在しないということがありうる。量子系により、電子や光子、フォノンの状態密度をエネルギーもしくは波数ベクトル k の関数として計算することができる。DOS を表わす記号としては、g, ρ, D, n, N などが用いられる。エネルギーの関数としての DOS と波数ベクトルの関数としての DOS の間の変換は、系ごとに決まる E と k との間の分散関係が分かっていれば行うことができる。
たとえば、半導体中の電子の状態密度は伝導帯端においては低く、電子の占有できる状態は少ない。電子のエネルギーが増えるにつれて状態密度も増加し、占有できる状態が増える。しかし、バンドギャップ中には電子の占有できる状態は存在しないため、伝導帯端の電子は別のモードへと遷移するために少くとも Eg だけのエネルギーを失う必要がある。
状態密度 概要
一般的に、系の位相幾何学的性質が状態密度の主な性質を決定する。中性子星中のニュートロニウムや金属中の自由電子ガス（縮退物質とフェルミ気体の例）のような最も良く知られた系では、3次元ユークリッド空間の位相構造を持つ。より知られていない系としては、グラファイト層中の二次元電子ガスや MOSFET 型素子中の量子ホール効果系は二次元ユークリッド空間の位相構造を持つ。さらに知られていないものとしては、カーボンナノチューブや量子ワイヤ、朝永・ラッティンジャー液体などは1次元位相幾何を持つ。1D および 2D 位相幾何を持つ系は、ナノテクノロジーと物質科学の進展につれてよりよく知られるようになると考えられる。
状態密度 定義
系が状態 i をとるときの系のエネルギーが  で与えられるとき、状態密度は
で定義される。
系の状態が連続パラメータ λ で指定される場合の定義は
である。ここで μ はパラメータ λ の張る状態空間の体積を与える測度である。
古典系の状態は正準変数の組 (p, q) で指定され、系のエネルギーはハミルトン関数で与えられる。正準変数の張る位相空間の体積は、一対の dpdq ごとにプランク定数 h で割る約束で、自由度が 2f での状態密度は
となる。
状態密度をエネルギー E まで積分すれば
として、系のエネルギーが  である状態の数を与える。状態数が微分可能である場合には、状態密度は
で与えられる。エネルギーが E である状態の縮退度は
で与えられる。ここで最後の等式は、積分の平均値の定理が妥当なときのみ成り立つ。
状態密度 対称性と状態密度
DOS 計算の行える系は多種多様である。凝縮系において重要な性質は系の微視的構造のもつ対称性である。 流体、ガラス、アモルファス固体は回転対称性のある分散関係を持つ。球対称な系では、たとえば関数の積分などは一次元となる。なぜなら、計算が分散関係の動径パラメータにのみ依存するからである。
例えば単結晶からなる系などの非等方な系においては、状態密度がある結晶学的方位と別の方位とでは異るので、角度に依存する計算および計測が必要となる。非等方な問題は計算が難しくなり、また非等方な状態密度は可視化するのも難しくなる。そのため、ある特定の点のみを計算したり、射影状態密度 (projected density of states, PDOS) を計算したりといった手法がよく用いられる。
状態密度 対称性と状態密度
粉末試料や多結晶試料に対する測定には、系の分散関係の定義域（一つのブリュアンゾーンとすることが多い）全体にわたる積分が必要となる。系の対称性が高い場合、系の分散関係を表わす関数の形は分散関係の定義域全体にわたって何度も繰り返し表われる。このような場合、DOS の計算は還元ゾーンのみについての計算に帰着し、相当に省力化できる。面心立方格子のブリュアンゾーンは点群 Oh の、完全八面体対称性をもつ48重対称性を持つ。よって、ブリュアンゾーン全体にわたる積分をその48分の1の部分領域にわたる積分に帰着することができる。結晶構造の周期表に示される通り、面心立方格子をとる元素はダイヤモンド、シリコン、白金など多く、これらのブリュアンゾーンおよび分散関係は48重対称性を持つ。
良く知られている結晶構造として、体心立方格子と六方最密充填格子の二つが挙げられる。体心立方格子は点群 Th の24重黄鉄鉱型対称性を持つ。六方最密充填格子は点群 D3h の12重プリズム二面体対称性を持つ。点群の対称性の特性の網羅的リストについては、点群指標表を参照のこと。
一般に、対称性が高く位相的次元の低い系ほど DOS の計算は容易である。回転対称性のある分散関係の状態密度は解析的に計算可能であることが多い。鋼やシリコンなど、実用上の興味の対象となる物質は高い対称性を持っていることが多いので、このことは幸運である。