hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
集合 特別な集合
数学では、1 つも要素を持たないような集合も考える。外延性の原理によれば、このような集合はただ一つしか存在しないので、これを空集合 (英: empty set) といい ∅ で表す。∅ は任意の集合 A の部分集合である。なぜなら、任意の対象 x に対して x ∉ ∅ より x ∈ ∅ ⇒ x ∈ A は真だからである。空集合の他にも決まった記号によって表される集合がいくつかある。日常的には一個だけ要素を持つものは集合とは呼ばれないが、数学ではそれも集合と呼ぶ(英語のsetやフランス語のensembleも日常的な用語では空集合や一個だけの集合に対しては使われない。) ：
集合 濃度
有限個の元からなる集合を有限集合 (ゆうげんしゅうごう、英: finite set) と呼び、集合 A の元の個数を #(A), |A|, card(A) などの記号で表すことが多い。有限集合でない集合を無限集合 (むげんしゅうごう、英: infinite set) という。無限集合に対しても「個数」の概念を広げて、濃度 (のうど、英: potency) 、または基数 (きすう、英: cardinal number, 英: cardinality) というものを考える。個数を数える代わりに、ある集合を使って、その元で別の集合をラベル付け (英: indexing; 添字付け) して、一対一の対応がとれるかどうかを調べるのである。そうすると有限集合の濃度はちょうど元の個数で決まるので、ちゃんと無限集合への「個数」の拡張となる概念が定まっていることが確認できる。
集合 濃度
無限集合はどれも「無限個」の元を持っているわけだが、どの無限もみな同じというわけではなく、濃度の概念ではたくさんの無限を区別して扱うことになる。たとえば、自然数と有理数が同じ濃度を持つ、自然数と実数は真に異なる濃度を持つといったような事実は数学を学ぶ者にとってよく知られた内容である。同様の事実に、平面 R2 と数直線 R は同じ濃度を持ち、平面を覆いつくす平面充填曲線と呼ばれる不思議な平面曲線が何種類も存在することが述べられる。より次元の高い空間でも同様で、空間を埋め尽くす空間充填曲線が構築される。異なる次元をもつ空間が同じ濃度をもつというのは、次元や濃度が一方が他方を測るようなものではない異なる尺度であることを表しているのである。
集合 集合の演算
いくつかの集合を扱い、その関係性について論じるとき、もともと考えていた集合たちから新しい集合を作って調べるというのは有効な手段の一つである。これらの操作は、集合に対する演算と見なすことによって、集合族に関するいくつかの代数系を提供する。それらの代数系を抽象代数系と見なせば、抽象代数学の一般論を適用することでまたいくつかの概念を提供することになる。
結び・合併・和
→詳細は「合併 (集合論)」を参照 結びの模式図
二つの集合を「くっつけ」て一緒にしてしまうことで新しい集合を取り出すことができる。加法的な集合族の基本となる演算のひとつ。和集合。
交わり・交叉・積
→詳細は「交叉 (集合論)」を参照 交わりの模式図
二つの集合の共通した部分を見つけることで、新しい集合を取り出すことができる。乗法的な集合族の基本となる演算。共通部分。
差・相対補
→詳細は「差集合」を参照 差集合の模式図
二つの集合のうちの一方の集合について、それに帰属する元のうち、同時に他方にも含まれる元を取り除いて新しい集合を作ることができる。差は一方と他方の補集合との交わりであり、乗法的な演算である。
補・絶対補
→詳細は「差集合」を参照 補集合の模式図
集合 集合の演算
全体集合（普遍集合）が与えられ、任意の集合は全体集合の部分集合であるという仮定のもとで、一つの集合の全体からの差。勝手な集合はその補集合と交わりを持たず、それらの和は全体集合に一致する。
対称差
→詳細は「対称差」を参照 対称差の模式図
二つの集合の結びに帰属する元から、その交わりに属する元を取り除いて新しい集合を考えることができる。これは結びから交わりを引いた差である。結びと同様に加法的な演算。
指示関数はこれらの集合演算を 0 と 1 からなる世界の代数的な演算に置き換える手段を与える。
もとの全体集合の中に演算結果を求めるのではなく、むしろ引数となる集合たちをもとに新しい集合を作り出すことを目的とする演算もある。
冪
→詳細は「冪集合」を参照 三元集合の冪の模式図
与えられた集合に対して、その冪集合とは与えられた集合に包含される集合全体の集合である。ある集合の冪集合はその集合の部分集合からなる集合族のなかで最大のものであると言っても同じである。
直積
→詳細は「直積集合」を参照 直積の模式図
二つの集合に対し、それぞれに帰属する元の順序対を要素とする集合を作ることができる。
集合 集合の演算
直和・非交和
→詳細は「非交和」を参照
二つの集合の、交わりを持たない和。
配置集合・写像空間
→詳細は「配置集合」を参照
ある集合から別の集合への写像を一つの元と見なすならば、その全体として新たな集合が見出される。直積集合は、順序数の各元に任意の集合を対応させる写像からなる配置集合と見ることもできる。
商
→詳細は「商集合」を参照 集合の類別の模式図
集合に同値関係を与えるとき、各類をその要素とする集合を考えることができる。
集合からなる族 A を考える。A が集合演算についていくつかの性質を満たすとき、それらには特別の名前が与えられることがある。
A が（有限）和と（有限）交叉について閉じているとき、集合の束あるいは集合環という。A が空集合でなく（あるいは空集合を元として含み）、和と差について閉じている（あるいは同じことだが対称差と交叉について閉じている）場合に限って集合環と呼ぶ場合もある。さらに可算交叉について閉じていれば δ-集合環、可算和について閉じていれば σ-集合環という。また、これらが全体集合を含むならば代数あるいは体という。δ-集合体は σ-集合体である。
零空間
数学、特に関数解析学において、線型作用素 A: V → W の零空間（ゼロくうかん、れいくうかん、英: null space）あるいは核空間（かくくうかん、英: kernel space）とは、
のことである。Ker(A) は N(A) や Nul(A) などとも書かれる。特に Ker は零空間が線型写像としての A の核 (英: kernel) に当たることを意味するのであるが、零空間という語を用いる文脈においては、核という言葉を熱核 (heat kernel) などの積分核に対して用いていることがほとんどであろうから注意されたい。
また、零空間という語をもちいる文脈においては、線型写像の像 (image) は値域 (range) と呼ばれ、線型作用素 A の値域は Ran(A) や R(A) と綴るのが通例のようである。
零空間
零空間は、ベクトル空間 V の部分空間である。さらに、 商空間 V/(Ker A) は、 A の像  に同型である；特に次元について
が成り立つ。
Ker A = {0} であることと、線型写像 A が単射であることとは同値である。
もし、V と W が有限次元であり、基底が選ばれているならば、A は行列 M として表すことができて、 零空間は、線型連立方程式 Mx = 0 を解くことで計算できる。零空間の次元は、行列 M の列の数から階数 rank M を引くことで与えられ、それはまた行列 M の退化次数 (nullity) でもある。
オフィスコンピュータ
オフィスコンピュータ（略称：オフコン）は、主に中小企業等での事務処理を行うために設計された、比較的小型のコンピュータ。主に日本のみで使われる呼称で、海外ではミニコンピュータ、ワークステーション、ミッドレンジコンピュータなどと呼ばれる。メーカーによる独自設計が特徴である。
オフィスコンピュータ 概要
オフィスコンピュータはミニコンピュータ（ミニコン）とほぼ同クラスの機器であるが、ミニコンが主に科学技術計算（浮動小数点演算、通信・制御用、研究所や教育機関など）に利用されるのに対し、主に事務処理用（商用計算、10進数演算、帳票処理など）を想定した設計になっている。海外ではメインフレームなど大型機を持つメーカーを中心に、「スモール ビジネス コンピュータ」(Small Business Computer)、「ミッドレンジコンピュータ」(Midrange Computer)とも呼ばれる。
ミニコンピュータ同様に端末から操作される種類のコンピュータで、端末には高度な処理能力を必要とせず、文章や図表・印刷の体裁に至る機能までもを内部で処理して、端末の画面やプリンターへと出力する。特にオフィスコンピュータでは、伝票類の印刷や業務収支計算などのプログラムが用意されている。
オフィスコンピュータ 概要
日本では、1970年代後半から1990年代にかけて、中小企業の財務会計や給与計算、販売管理といった、全社的な業務処理システムや、大手企業の支社や支店、部門ごとの処理システムの構築用に多く導入され、全国の中小企業や工場の情報化に貢献した。日本でのオフィスコンピュータはメインフレームのような海外からの技術導入とは直接関係なく進化していった。また、日本独自の商習慣や日本語を扱う点などがシステムそのものの設計にも影響し、海外からの進出が困難だった市場でもある。設計は基本的に各メーカーの独自アーキテクチャである。
オフコンと呼ばれるコンピュータには、現在のサーバに相当するNEC S3100などのコンピュータから、クライアントやワークステーションに相当する富士通FACOM K-10やNEC N5200などのコンピュータまで存在する。市場の縮小の影響で、日立（1993年）、東芝（1996年）、NEC（2015年）などの大手メーカーが撤退した。現在の主なメーカーは日本IBM、三菱電機、富士通（ハードからは撤退）となっている。
代表的なオフィスコンピュータ
オフィスコンピュータ 運用形態
現在の業務サーバに近い形で使用され、コンピュータネットワークを介して接続された端末からデータを入力したり、必要なデータを呼び出したりする。また入力機器は端末コンピュータに限らず、磁気カードリーダーやバーコードスキャナ、更にはキャッシュレジスターといった現在のPOSレジスターや、様々な計測機器の類いもネットワーク上に接続されて運用され、その中にはプリンターや、必要なら遠隔地のコンピュータや端末と接続するモデムなども含まれる。
外部から独立したネットワーク上で動作するこれらのシステムは、基本的に外部ネットワークとの接続を前提としていない。このため、専用の入力端末に専用のオペレーターが付くという形態で使用され、複数の端末と通信してデータのやり取りを行う。
オフィスコンピュータ 構造・設計思想
基本的にクローズドアーキテクチャ=専用設計=専用OSのコンピュータであることが多い。既製品パッケージソフトウェアをカスタマイズした専用の業務処理プログラムを稼動させることを目的としている。それらがセットで納入され、納入した業者がメンテナンスからソフトウェア操作や運用方法をサポートする形態が多い。
このため、同機器が広く利用された時代に設立されたソフト会社には、これらオフィスコンピュータを構成・メンテナンスする業務が主であったため、「○○オフィスコンピュータ」という社名を使ったものが多い。
メーカー独自の仕様ではなく、業界の標準となっている仕様を用いることをオープン化という（オープンシステム参照）。この場合は、オープン標準のUnixだけでなく事実上標準OSとなっているWindowsも含まれる。
従来は各社独自仕様のハードウェア（CPUや筐体）とソフトウェア（OSなど）により構成されていたが、各社は1990年代以降はUNIXサーバやPCサーバで利用されるハードウェアに、オフコン用のOSを移植したものが増えている。例えば富士通のPRIMERGY 6000、日本電気 (NEC) のExpress5800/600、三菱電機のEntrance/CENTRAGEはx86系のCPUを搭載したPCサーバに独自OSを稼働させている。
オフィスコンピュータ 構造・設計思想
旧来の端末は、受け取った画面データを表示したり、入力信号をデータ通信するだけの機能しか持たなかった。その一方、Windows系のパーソナルコンピュータ（主としてPC/AT互換機）の処理能力や記憶容量が向上し、受け取った数値データを必要な表に変換したり、接続されたプリンタやスキャナ等の接続機器からのデータを処理する能力も持ち合わせるようになり、これらのパソコンをLANでネットワーク化することで、かなりの業務処理が出来るようになった。また旧来のオフィスコンピュータは、いわゆる2000年問題を抱える事も多く、1999年までに多くのオフィスコンピュータがシステムの刷新を求められた。その結果、高価なオフィスコンピュータ（と複数の専用端末）は、システムの乗り換えによって汎用性のあるパーソナルコンピュータなどに代替され、徐々に使われなくなっていった。
オフィスコンピュータ 構造・設計思想
しかしながら、オフィスコンピュータがクローズドアーキテクチャであったことから、長く蓄積された業務情報などの資産を全面的にWindows系OSなどへの環境に移行することはコスト的に困難である場合も多い。そのため、その過渡期的なものとして、オフィスコンピュータの端末としての機能をパソコン側の端末エミュレータに持たせる事で、双方の機能を共存させて連携・運用できるものもある。これらは、現在においても金融機関や病院などの一部オフィスで利用されている。また、仮想化技術によって、レガシーシステムとUNIXシステム、Windowsシステムなどのオープンシステムを一台のサーバにまとめられるようになった。
オフィスコンピュータ 歴史
アメリカではトランジスタを使用したミニコンピュータからオフィスコンピュータにあたる Small Business Computer (SBC)が誕生したのに対して、日本では逆にオフィス向け小型コンピュータの方が先に進化した。このため、英語圏ではミニコンピュータにSBCが含まれるのに対して日本ではミニコンピュータとオフィスコンピュータが別のものとして存在することになった。
1959年、会計用機械を輸入販売していた日本事務器が電子会計機の国産化をNECに依頼した。NECは既に実績のあるパラメトロンを使用したNEAC 1201を開発し、1961年にリリースした。当時、日本事務機が唯一の販売代理店であった。これは好評をもって迎えられ、NECは1964年に後継機のNEAC 1210をリリースすることとなる。
オフィスコンピュータ 歴史
NECの独擅場であったオフィス用小型コンピュータの市場だが、1965年、富士通がFACOM 230/10を投入。これは日本語COBOLを利用できるトランジスタ式コンピュータであった。また同年、日立製作所は独自OSのHITAC-8100を発売した。対するNECは1967年、ICを全面採用したNEAC 1240を発表。1968年には東芝 (TOSBAC-1500)、三菱電機 (MELCOM-81)、内田洋行 (USAC-300) などが製品を投入し、オフィスコンピュータ市場は一気に活況を呈することとなった。
1970年代には、販売管理、財務管理、人事給与など本格的な事務処理機能を備えたオフィスコンピュータが登場するようになった。特に1974年のNEAC システム100がオフコンの名を定着させた。
1980年代初頭はNEC、三菱電機、東芝の三強であったが、80年代後半にはNECと富士通の二強時代となった。さらに、1988年に日本IBMがAS/400の販売を開始し、三強の一角を形成するようになった。
オフィスコンピュータ 歴史
1990年代前半にオフコン市場は全盛期を迎えたが、Windowsサーバの登場によりオープンシステムが事務用コンピュータ市場の主力となった。
独自OSやCPUよりもWindowsや汎用CPUに移行するオープン化の波によって、オフコン市場は縮小し、採算の取れなくなったメーカーの撤退が相次いだ。日立製作所は1993年に、東芝は1996年に新規モデルの製造を中止した。2000年の出荷台数は10170台が2015年にはその一割の1022台に落ち込んだ。2015年には、オフコン市場で富士通とトップシェアを争っていたNECが新規モデルの製造を中止した。2018年には、富士通がハードの製造から撤退し、クラウドでのオフコンサービスの提供に切り替えた。
2010年代でも、クラウド・システムやオープン系サーバ（WindowsやUnixサーバなど）とともに、クローズドなメインフレームやオフコンはその信頼性・安定性の高さから企業の基幹業務などに使用され続けている。
ドライアイス
ドライアイス (英: dry ice) は、固体二酸化炭素 (CO2) の商品名である。生鮮食品の冷温保管・輸送などに用いられる。固形炭酸、固体炭酸とも言う。
ドライアイス 種類
商品としては形状から次に分けられる。
表面積の大きな粉末状のものほど冷却能が高いが持ちは悪くなる。したがって輸送時等昇華しては困る場合はブロック状の大きな塊のまま扱うほうが、溶けにくく長時間にわたって利用することが可能であるが、使用する際にはハンマーなどで小さく割って利用する必要がある。スノー・ペレットなどは、ブロックに比べて短時間ではあるが、より急速に冷やすことが可能である。
ドライアイス 製造方法と日本での需給
ドライアイスは以下のような工程で製造される。
日本でドライアイスを製造する企業8社は1979年以降、業界団体「ドライアイスメーカー会」（任意団体）を組織している。エア・ウォーター炭酸、日本液炭、レゾナック・ガスプロダクツなどが大手である。
近年、日本では製油所や化学工場の閉鎖によって副産される二酸化炭素の量が減り、ドライアイスの生産量が減少しているため、供給不足となっている。2013年には不足分1万トン以上が大韓民国から輸入された。
ドライアイスの国内需要は年35万トン前後で、うち2万6000トン前後を輸入している。夏季（6月末〜旧盆）の需要が特に多く「45日ビジネス」とも言われる。電子商取引（インターネット通販）での生鮮食品の輸送量が増えるとともに、ドライアイスの消費量も増加傾向にある。
ドライアイス 歴史
最初にドライアイスを観察したのは、1835年にフランスのアドリアン-ジャン-ピエール・ティロリエ: (1790–1844) が行った実験で、自ら作成した装置で作った液化二酸化炭素を入れた容器を開けると、急速に気化して固体が残る現象が確認された。
1895年にはイギリスの化学者エルワシー (Elworthy) とヘンダーソン (Henderson) が炭酸ガス固化法の特許を取得し、冷凍用途での使用を提唱した。
1924年にアメリカ合衆国のトーマス・ベントン・スレートは販売のために特許を申請。翌1925年に設立されたドライアイス・コーポレーションにより固形化した二酸化炭素を "Dry ice" と名付け、最初の商業生産者となった。なお "Dry ice" は同社の登録商標だったが、後に一般名詞化して "dry ice" と呼ばれている。なおイギリスのエア・リキードUK社 (Air Liquide UK Ltd.) は "Cardice" の名で商標登録を行った。
ドライアイス 主な用途
食品の保冷剤
温度が氷よりも低く、昇華して気体となるため、液化による濡れ等が生じない。このため扱いが比較的容易であり、冷凍食品・アイスクリーム・ケーキ等の氷点下での保存が必要な食品を自然解凍から守る保冷剤として使われる。スーパーマーケットの食品売場等でディスペンサーにて消費者へ販売されるドライアイスは、都度、液化炭酸ガスを断熱箱に吹き出させて作られたドライアイスである。
舞台のスモーク効果
水中に入れることで、強い毒性や悪臭がない白煙を大量に発生させることができる。舞台などでの特殊効果では湯にドライアイスを投入した白煙がよく用いられる。この白煙はよく二酸化炭素が気体になったものと誤解されがちだが、白煙は二酸化炭素ではない。ドライアイスを水などの液体中に入れた場合での白煙の正体は空気中の水分だという説や、ドライアイスに触れた液体が微小な固体粉末になったものという説などのいくつかの説があるが、詳しくは判明していない。
東大寺学園中･高等学校の松川利行は、ドライアイスから気化したばかりの低温の二酸化炭素を水に通じたり、ドライアイスを水以外の液体に投入する実験を行い、酢酸、ベンゼンなど、二酸化炭素の昇華点よりも融点が高く、粘性が十分小さい液体中に入れたときも白煙は発生することを発見した。この実験結果より松川は白煙の正体を溶媒の微粉末固体（水に投入した場合は氷の微粒子）だと推定している。
ドライアイス 主な用途
遺体の保存
人間や動物の遺体保存にも使われる。葬儀の際はエンバーミング処理よりもはるかに手軽でかつ、極めて安価に遺体を保存できるメリットがあり、通夜の際、遺体を安置する寝具の掛け布団の下に入れるだけで済む。また納棺の際、遺体と一緒にしたまま入れることができ火葬しても二酸化炭素しか出さないことから、根強い需要がある。
人工降雨・降雪技術
水資源の安定確保・枯渇対策を目的とした、人工降雨・降雪技術の確立のための研究も行われている。
自動車の洗浄・エンジン冷却
フレーク状のドライアイスをコンプレッサーの圧縮空気を用いて対象物に吹き付ける「ドライアイス洗浄」が、有機溶媒などと比べて環境に良いとされ、自動車産業を中心に多く利用されてきている。
また、F1など競技車両では走行直後の駐停車の際に、シリンダー形状のドライアイスを専用の筒に入れ送風機を組み合わせて強制的なエンジン冷却に利用されている。
混合物による寒剤
有機溶媒とドライアイスとの混合物は寒剤とすることができる。たとえば、エタノールとドライアイスとでは -72 ℃、ジエチルエーテルとドライアイスとでは -77 ℃の低温が得られる。
ワクチンの輸送
アフリカ大陸におけるポリオワクチンや新型コロナワクチン（COVID-19：RNAワクチン）の空輸に利用されている。
ドライアイス 取り扱い方法
下記のいずれか、可能であれば複数を行うことで、ドライアイスを長持ちさせることが出来る。
ドライアイス 危険性・取扱い上の注意点
ドライアイスは日常的に用いられているが、高濃度（およそ7–8パーセント以上）の二酸化炭素を吸入すると、たとえ酸素が大気中と同等程度含まれていても、二酸化炭素が呼吸中枢に毒性を示すために自発呼吸が停止し、窒息することがある。特に昇華して二酸化炭素の気体になった場合は足下に滞留しやすいため、窒息あるいは酸欠による事故の危険がある。冷凍庫のような屋内や、自動車内で扱う際は、締め切らずに通気や換気を行う必要がある。たとえば 350 gのドライアイスを乗員室容積 2,000 Lの密閉した車内に放置すると、1時間で車内の炭酸ガス濃度は約10パーセントとなり、中毒を起こして意識不明に陥る危険性がある。
事例
ドライアイス 危険性・取扱い上の注意点
葬儀の現場で棺の中に顔を突っ込み二酸化炭素中毒による死亡事例が2018年から5年間で少なくとも4件発生しており、40歳から70歳の親族がなくなっている。消費者庁では注意を呼びかけている。実験で二酸化炭素を充満（約90パーセント）させた状態で顔部分の扉を静かに開け、濃度の変化を記録したところ、開けた直後こそ約60パーセントまで低下するものの、約50分経過した状態でも濃度は安全領域まで下がらず、『ほとんど即時に意識消失』する濃度である30パーセント以上を維持した。このことから消費者庁は棺の中に顔を入れないよう注意喚起するとともに、式場の室内空気の換気を充分に行うこと、そして線香番などで一人にならないよう呼びかけている。
2020年2月28日の夜: ロシアのモスクワの室内にプールを備えた複合施設で、Instagramの薬剤師ブロガーでフォロワー100万人超のエカテリーナ・ディデンコの29歳の誕生日パーティーが開催された。プールにドライアイス30kgを投入し、プールにダイブする等して最終的に3人が死亡。死亡した3人は、二酸化炭素中毒で酸欠に陥り窒息死と考えられる。他4人も凍傷や中毒症状に陥った。
ドライアイス 危険性・取扱い上の注意点
「使用を誤ると酸欠事故の恐れがある」「廃棄できず、昇華するのを待つ必要がある」「商品表面に二酸化炭素が浸透し、炭酸飲料のような刺激感を与えてしまう」「二酸化炭素は地球温暖化の原因物質というネガティブイメージがある」といった欠点のため、近年ではドライアイスに代わって、ポリアクリル酸ナトリウムなどの高吸水性高分子と水とをポリ袋に詰めて凍らせた蓄冷剤が普及してきている。特に冷蔵でよいケーキの持ち帰り用には大部分がこの蓄冷剤に取って代わられた。なおドライアイスは前述のとおり石油精製やアンモニア製造などの化学合成プラントから必然的に出る副生品、またはビール工場等の発酵過程で発生する副産物であるため、ドライアイスの使用がそのまま地球温暖化に直接つながるわけではない。
#製造方法で述べたとおり、ドライアイスは圧縮された気体であり、昇華して気体になると体積は約750倍になる。当然ながら、ガラス瓶やペットボトルなどの容器で密閉保存してしまうと、容器内の圧力が急激に上昇してしまう。さらにその状態で、
などとなって、容器に衝撃が加わると、圧力に耐え切れない容器が破裂・爆発し、破片やキャップが飛び散り、非常に危険である。
実際に、炭酸水を作ろうとしてペットボトルやビン容器に飲料とドライアイスを入れて密閉した状態で容器を振るなどしたところ、容器が破裂してビンの破片やキャップなどが吹き飛び、腕や顔面に重傷を負ったという事故が相次いでおり、国民生活センターが注意喚起を行う事態に発展した。中には「破裂して吹き飛んだペットボトルのキャップが眼球に直撃してしまい失明」という事故も報告されている。
Squeak
Squeak（スクイーク）はSmalltalk環境のひとつで、ゼロックスが1980年当時の主要コンピュータメーカー（IBM、DEC、ヒューレット・パッカード、Apple Computer、Tektronix）にライセンス供与したSmalltalk-80の販売直前バージョン (v1) をベースに、Appleが自社のLisaおよびMacintosh用に開発したApple Smalltalkから派生したものである。なお、同環境に組み込まれた（Squeak Smalltalkで記述・構築されている）タイルスクリプティング言語・開発環境のSqueak Etoysも略して「Squeak」と呼称され混同されることが多いが、両者（Squeak SmalltalkとSqueak Etoys）はプログラミング言語およびその処理系としてはまったくの別物である。
Squeak 開発の経緯
1970年代のパロアルト研究所での俗に言う「ダイナブックプロジェクト」において、暫定Dynabook（Altoの同チームにおける呼び名）のオペレーティングシステム (OS) およびコンピュータ環境にあたるSmalltalkの開発にたずさわったメンバー、特にアイデアパーソンのアラン・ケイ、その実装者のダン・インガルスらが中心となり、当初Appleにおいて同プロジェクトは始動した。のちにウォルト・ディズニー・イマジニアリングを経て、アラン・ケイが設立したNPOであるViewpoints Research Instituteに活動の拠点を移し現在も開発が続けられている。
開発の契機となる1995年ごろにはまだライブラリが整っていなかったJavaや、すでにいくつか存在した商業ベースIDEとして認知、発展を遂げた当時のSmalltalkには求めにくかった、自由で高度な移植性と小さいフットプリント、高機能なマルチメディア処理用ライブラリを持つことを特徴とし、それを動作させるためのOSやプラットフォームに依存しない、ユーザーサイドプログラミングを強力にサポートするコンピュータ環境を目指してその開発はスタートした。
Squeak 環境と言語
Squeakも他のSmalltalk環境同様、環境記述およびデータ記述言語、およびユーザースクリプティング言語としてSmalltalkを使用できるようになっている。また、非常に古い実装に基づいてはいるものの、Smalltalk環境が当初から備えていたクラスブラウザ、オブジェクトインスペクタ、テキストエディタ、デバッガなどを有機的に連動させるオブジェクト指向プログラミングのための機構は、ベースとなったApple Smalltalkからそのまま環境内に引き継がれ、利用可能な状態にある。
Squeak 環境と言語
Squeakの仮想機械（Smalltalkバイトコードインタプリタ）はSmalltalkのサブセットで記述されており、それをC言語に変換するトランスレータを用いて生成される。この独特の仮想機械開発スタイルはSqueakに高い移植性をもたらしている。実際、Squeakは各種のUNIX、Windowsをはじめ、DOS、BeOS、TRONなど、Palm OS以外のメジャーなプラットフォームに移植されており、めずらしいところでは、シャープのZaurus（旧Zaurus、もしくは最近のLinux Zaurus）で動作するSqueak仮想機械も存在する。移植性を重視した初期の同仮想機械は、他の商用SmalltalkやJavaなどで行なわれる動的コンパイル（JITコンパイル）を欠いていたが、Eliot Miranda氏が新たに手がけたCogVMと呼ばれる次世代仮想機械では同機構も取り入れられ従来より5-10倍の性能向上を果たしている。
Squeak環境にはSmalltalkとは別に、Squeak eToys（あるいは Etoy、SqueakToysなど）と呼ばれるプロトタイプベースオブジェクト指向プログラミング言語・環境に近い仕組みを持つ非開発者向けプログラミング環境（タイルスクリプトシステム、あるいは単にスクリプトシステムと呼称）が実装されている。Morph（モーフ）と呼ばれる可視化に適した機構を組み込んだオブジェクトに対し、その属性（動き、色、形、振る舞いなど）を変化させる手続きを、パネル状のパーツをドラッグ&ドロップで組み合わせで表現できる。
こうした特徴から同スクリプトシステムは、プログラミング未経験者のほかに、キーボードの扱いに馴れていない低年齢層ユーザーにも容易に扱うことができる。アラン・ケイの長年の共同研究者であるキム・ローズらは、この機構が低学年向けのコンピュータ・リテラシおよび自然科学教育に活用できることに早くから目を付け、米日独での教育機関との共同プロジェクトを立ち上げてその高い教育効果を示しつつある。
Squeak 多言語化と日本語対応
大島が中心となって実装したSqueakの多言語拡張に基づき、阿部、梅澤、林、山宮らによってSqueakおよびSqueak eToysの日本語化パッケージが作成された。多言語化拡張は正式版Squeakバージョン3.8以降、およびeToys用にカスタマイズされたSqueaklandバージョン2005以降に統合されており、ユーザーは正式版をダウンロードするだけで日本語を使用することができる。
Squeak アプリケーション
Squeak（およびSmalltalk）環境においては、データもアプリケーションも、そして環境自体（つまりシステム）すら、すべてSmalltalk言語で記述されたオブジェクトで構成されているため、通常のコンピュータ環境でいうところのアプリケーションソフトという概念は希薄であるが、それでもそう呼ぶに相応しいオブジェクト群を見ることができる。
開発者向け
Browser クラスやメソッド定義を閲覧したり、編集・追加するためのソフト
Inspector オブジェクトの属性を検査するためのソフト
Debugger インタプリタの内部状態やその推移を検査するためのソフト
Change Set クラスやメソッド定義に加えられた変更の履歴を管理するデータベース
Method Finder 任意の文字列を含むメソッド名やその定義を呼び出すツール
Processes プロセス閲覧・管理ツール
Transcript 通常の開発環境における標準出力的役割りを担うソフト
Squeak アプリケーション
一般向け
Workspace WYSIWYGタイプの書き捨てのメモ帳
GeeMail 文書と図版の共存が可能なメモ帳
PaintBox ペイントツール
Book カード型データベースおよびアクティブブック作成用のオーサリングツール
Stack HyperCardライクなオーサリングツール
File List ディレクトリ閲覧、テキストエディタ、gzip圧縮などの機能を持つファイラ
Zip Tool zip圧縮およびその展開を行なうためのツール
Scamper ウェブブラウザ（ただし多言語化時においても日本語使用不可）
Celeste メーラ（ただし多言語化時においても日本語使用不可）
ThreadNavigator プレゼンツール
Clock、Watch 時計
また、アプリケーションのような振る舞いをする大規模な機能性オブジェクト群とそれらを機能させるための最低限のオブジェクトを残して余計な部分を環境からそぎ落としてしまい、Smalltalk環境自体をまるでひとつのアプリケーションソフトであるかのように見せ、配布する形態をとることもある。Squeak公式サイトとは別に用意されたSqueaklandサイトで配布されているウェブブラウザプラグイン版のSqueakは、先のSqueak eToysに特化されたアプリケーションともいえる。
Squeak アプリケーション
他に、Squeak環境により実現された代表的なアプリケーションと呼べるものとして有名なものにSwikiがある。SwikiはSqueak版Wikiクローンというべきソフトの一つで、同じくSqueak上にSmalltalkで書かれたHTTPサーバ（Webアプリケーションサーバ）であるComanche上に構築されている。WikiクローンとしてのSwikiは、ファイルアップロード機能、無限差分の保持、静的HTMLの生成などの他に、独自のフォーマットルール、キャピタルワードを自動的にリンクにするWikiName機構を持たないこと、ページ名の変更がページ作成後に可能なこと、ページソース記述にHTML表記の混在を許すことなど他のWikiとは一線を画す仕様を有する。
公式サイトである「Swiki Swiki」のダウンロードページより、Squeak eToysにおけるWebプラグイン版Squeakのように、Swikiに特化した仮想イメージと付随ファイルのアーカイブを得ることができる。日本語を扱うためには最低一箇所、修正を加えなければならないが、この仮想イメージを用いることでSmalltalk言語や環境に精通していなくとも、起動後、サーバスタートを意味するボタンを押すだけで手軽に運用を開始できる。
ただいずれも、Squeak環境としては前者はSqueak eToys、後者はSwikiに必要ないものを大幅に削除したサブセットに過ぎないので、Squeak eToysもしくはSwiki専用で、かつ、手を加えずあるがままの状態で使用するのでなければ、公式サイトより完全なSqueak環境を入手し（Swikiの場合、機能を拡張するためのパッケージをインストールした状態で）使用することが望ましい。
核 (代数学)
数学において、準同型の核（かく、英: kernel）とは、その準同型の単射からのずれの度合いを測る道具である。代数系における準同型の核が "自明" (trivial) であることとその準同型が単射であることとが同値となる。
核 (代数学) 定義
考える構造により多少の差異はあるが、（圏論を使わない）集合と写像の言葉の範疇では概ね、基点 (base point) と呼ばれる特定の元を構造として持つ場合と持たない場合の二種に大別できる（ここでは、正確には基点のみからなる一元集合が圏論的な意味で零対象となるようなものを与える必要がある）。
A, B を同種の構造をもつ集合とし、f : A → B を構造を保つ準同型とする。このとき、準同型 f の核 Ker(f) は
で定義される A × A の部分集合である。したがって、Ker(f) は始域の集合 A における二項関係を定める。この関係は（構造と両立する）同値関係になる。核 Ker(f) が自明であるとは Ker(f) = Δ(A) なることをいう。ここで、Δ(A) は対角線集合 {(a, a) | a ∈ A} である。これは Ker(f) が定める A の二項関係は恒等関係 (equality) であるというのと同じことである。
(A, ∗A), (B, ∗B) を基点を持つ同種の構造をもつ集合とし、f : A → B, f(∗A) = ∗B を構造を保つ準同型とする。このとき、準同型 f の核 Ker(f) は終域 B の基点 ∗B の原像、つまり
核 (代数学) 定義
で定義される始域 A の部分集合である。Ker(f) は A の基点 ∗A を常に含むが、逆にKer(f) が唯一つの元 ∗A のみからなる集合 {∗A} に一致するとき、核 Ker(f) は自明であるという。
基点を持つ多くの代数系では、構造は等質性をもち、それゆえに、この第二の定義による核は、第一の定義における核の定める同値関係と同じ関係を定義する。特に、核が第二の定義の意味で自明であれば第一の定義の意味でも自明であり、核が自明な準同型は単射となる。
このような意味で、第二の定義は第一の定義の特別な場合である、あるいは逆に第二の定義の一般化として第一の定義があるということができる。これらの定義は核について、
それぞれに扱いやすい特性を示している。
核 (代数学) 例
G, H を群とし、G, H の単位元をそれぞれ eG, eH とする。このとき、群を単位元を基点として持つ代数系とみなすことができて、群準同型 f: G → H に対して
となる。これは G の部分群、とくに正規部分群になることが確かめられる。
ここで、始域 G における関係を g1 ∼ g2 となるのは g1−1g2 ∈ Ker(f) となるとき、かつそのときに限るものと定義する。これは Ker(f) が G の部分群ゆえ同値関係を与える。このとき、g1−1g2 ∈ Ker(f) と f(g1)−1f(g2) = f(g1−1g2) = eH とが同値ゆえに g1 ∼ g2 となるのは f(g1) = f(g2) となるとき、かつそのときに限ると言い換えることができ、結局この関係は G × G の部分集合
の定める関係と同じものであることが確かめられる。また、Ker(f) = {eG} となる意味で自明であるならば、g1 ∼ g2 は g1 = g2 と同値であるから、集合 K が定める関係としても自明である。
核 (代数学) 例
R, S を環とする。環は零元を基点に持つ代数系であり、0R, 0S をそれぞれ R, S の零元とすれば、環準同型 f: R → S の核は
となる。これは始域 R の部分環であり、さらに R のイデアルとなる。
環を加法についてみれば可換群であるから、群準同型について述べたことは加法についてはそのまま通用する。したがって、f: R → S の核 Ker(f) が Ker(f) = {0R} を満たすことと f は単射であることとは同値である。
同様に、M, N を R-加群とすれば、それぞれの零元 0M, 0N を基点として、R-加群の準同型（R-線型写像）f: M → N に対し、
が f の核となる。やはり Ker(f) は始域 M の 部分 R-加群である。ここでも核が自明なこととその準同型が単射であることとが同値となる。なお、体上の加群であるベクトル空間の核については零空間も参照されたい。
S, T を半群とし、f: S → T を半群の準同型とすると f の核は
で与えられる。
核 (代数学) 準同型定理
準同型 h: S → T に対し、始域 S を核 Ker(h)（の定める同値関係）で割った集合 S/Ker(h) には自然に商構造が入る。これを Coim(h) と書いて、準同型 h の余像（よぞう、Coimage）と呼ぶ。
準同型 h: S → T の余像 Coim(h) は h の像 Im(h) = h(S) と同型であるという命題を準同型定理という。S, T が群、環、環上の加群などのときには確かに準同型定理が成り立つ。
対角行列
数学、特に線型代数学において、対角行列（たいかくぎょうれつ、英: diagonal matrix）とは、正方行列であって、その対角成分（(i, i)-要素）以外が零であるような行列のことである。
この対角行列は、クロネッカーのデルタを用いて (ci δij) と表現できる。また、しばしば
diag(c1, c2, ..., cn)
のようにも書かれる。
単位行列やスカラー行列は対角行列の特殊例である。
対角行列 三重対角行列
三重対角行列（さんじゅうたいかくぎょうれつ、tridiagonal matrix）とは、主対角線とその上下に隣接する対角線にだけ非零の成分を持つ行列であり、疎行列の一種である。
数値解析においてしばしば三重対角行列を含む方程式が現れる。このような方程式はトーマスアルゴリズムあるいは三重対角行列アルゴリズム (TDMA) と呼ばれる、計算量のオーダーがO (n) の解法を用いて解かれる。
与えられた行列を三重対角行列に変換する方法（三重対角化）には、ハウスホルダー変換やランチョス法が知られている。
Emacs
Emacs（イーマックス、[ˈiːmæks]）は、その拡張性を特徴としたテキストエディタのファミリーである。Emacsの中で最も広く使われている派生物であるGNU Emacsの作者､リチャード・ストールマンは、自身の声明において「たくさん模倣されたオリジナルのEMACSエディタの発明者 (inventor of the original much-imitated EMACS editor)」を自称し、GNU EmacsのマニュアルではEmacsを「the extensible, customizable, self-documenting, real-time display editor」（拡張およびカスタマイズが可能で、自己文書化を行い、リアルタイム表示を行うエディタ）であると説明している。最初のEmacs開発が1970年代中盤に開始されてから、その直系の子孫であるGNU Emacsが製作され、その開発が2025年現在も続いている。
Emacs
Emacsはユーザインタフェースと10,000を超える組み込みコマンドを持ち、ユーザーは作業自動化のためにこれらのコマンドをマクロと組み合わせることができる。さらに深い拡張性を提供するLISPプログラミング言語の方言であるEmacs Lisp (ELispまたElispとも) はEmacs実装の主な特徴であり、Emacs Lispでユーザーや開発者はEmacs用の新しいコマンドやアプリケーションを書くことができる。Emacsの拡張機能として電子メール、ファイル、アウトライン、およびRSSフィードが書かれており、それ以外にもELIZA、ポン、ライフゲーム、ヘビゲーム、およびテトリスの実装も存在する。ユーザーの中にはEmacs内部からテキスト編集だけでなくほとんど全ての作業を行うことができることに気づいた者もいる。
原典であるEMACSは1972年にCarl Mikkelson、デイヴィッド・A・ムーン、およびガイ・L・スティール・ジュニアらによりTECOエディタ用のEditor MACroSのセットとして書かれたものであり、TECOマクロエディタの概念に触発されている。
最も有名かつ最も移植されたEmacsは、ストールマンによってGNUプロジェクトのために作成されたGNU Emacsである。XEmacsは1991年にGNU Emacsからフォークされた派生物である。GNU EmacsとXEmacsは類似のLISP方言を使い、互いに互換性のある部分が大半である。
Emacsはvi (Vim) と並びUNIX文化における伝統的なエディタ戦争の主要な当事者である。Emacsは開発中のオープンソースプロジェクトの中で最古のものである。
Emacs 歴史
Emacsは1970年代のMIT人工知能研究所（MIT AI研）で産声をあげた。 AI研で使われていたPDP-6やPDP-10のオペレーティングシステムはIncompatible Timesharing System (ITS) であり、そのデフォルトエディタはTECOというラインエディタであった。TECOは現在の一般的なテキストエディタとは違い、追加・編集・表示用にそれぞれ別々のモードが存在していた。そのため文字を入力しても即座に反映されるわけではなく、代わりにTECOコマンド言語の i 文字を入力して入力モードに切り替えてから必要な文字を入力し、最後に ESC 文字を入力してエディタをコマンドモードに再度切り替える必要があり（上書きが可能なため、同様のテクニックが使われた）、しかも入力モードで編集中の文字は画面に表示されなかった。なお、この振る舞いは現在も使われているedやviと同じである。
Emacs 歴史
リチャード・ストールマンは、1972年と1974年にスタンフォード人工知能研究所を訪れ、Fred Wrightにより書かれたその研究所の「E」エディタを目にした。Eの振る舞いは今のエディタの大半で使われている直感的なWYSIWYGであり、ストールマンはその機能に触発されてMITに戻った。 AI研ハッカーの一人であるCarl Mikkelsenは、利用者がキー操作するたびに画面表示を更新するControl-Rという表示・編集を組み合わせたモードをTECOに追加していた。ストールマンは、この更新が効率的に動くよう書き直し、任意のキー操作でTECOプログラムが動くように利用者が再定義できるマクロ機能をTECOの表示・編集モードに追加した。
Emacs 歴史
EにはTECOに不足していたランダムアクセス編集機能が搭載されていた。TECOはPDP-1の紙テープを編集するために設計されたページシーケンシャルエディタであるため、一度に1つの紙テープしか編集することしかできず、さらに紙テープのファイルに存在するページの順に編集しなければならなかった。Eはディスク上のページランダムアクセスを可能にするため、ファイルを構造化するというアプローチを採用していたが、ストールマンはTECOを修正してさらに巨大なバッファを効率的に処理できるようにするというアプローチを採用し、ファイル全体を単一バッファとして読み込み、編集し、書き込めるようにファイル管理方法を変更した。現在ではほとんどのエディタがこのアプローチを用いている。
Emacs 歴史
新しいバージョンのTECOはまたたく間にAI研で評判となり、マクロを意味する「MAC」や「MACS」が語尾に付いた名前のカスタム・マクロの巨大なコレクションが溜まった。さらにその2年後、どんどんばらばらになっていくキーボード・コマンド・セットを1つに統合するプロジェクトをガイ・スティールが引き受けた。ストールマンはスティールとハックしたある夜の後、新しいマクロ・セットの文書化や拡張の機能を含む実装を完成させた。こうしてできあがったシステムはEditing MACroSやE with MACroSを意味するEMACSと呼ばれることになる。ストールマンによると、Emacsとしたのは「当時ITSで<E>が略称に使われていなかったから」である。作り話であるHacker koanではケンブリッジの人気アイスクリーム店「Emack & Bolio's」にちなんで名付けられたとしている。操作可能な最初のEMACSシステムは1976年後半に姿を現した。
ストールマンはEMACSの過度のカスタム化や事実上の分裂の危険に気づいたため、ある使用上の条件をつけた。彼は後に次のような文章を残している:
「EMACSは、共同参加を基として頒布される。つまり改良点は全て、組み入れて頒布するために、私のところへ戻ってこなければならない」
Emacs 歴史
原典であるEmacsはTECO同様にPDP-10上だけで動作した。Emacsの振る舞いはTECOのそれとは大きく異なっていてTECOとは独立した別のエディタとみなせるようになり、さらにEmacsは急激にITS上の標準編集プログラムとなった。Mike McMahonはEmacsをITSからTENEXやTOPS-20オペレーティングシステムに移植した。 初期のEmacsへの貢献者には、このほかケント・ピットマン、Earl Killian、Eugene Ciccarelliらがいる。1979年までに、EmacsはMIT人工知能研究所やMITコンピュータ科学研究所で使われる主要エディタとなった。
Emacs 歴史
その後、他のコンピュータシステム用に多くのEmacs風エディタが書かれた。これらにはMichael McMahonとダニエル・ウェインレブらがLISPマシン用に書いた EINE (Eine Is Not Emacs) とZWEI (Zwei Was Eine Initally）（なお、ZWEIはドイツ語で「2」の意味でもある。EINEが「1つの」（女性形）にあたるためのもじり。ストールマンの呼ぶEINEは「アイン」のように聞こえるが、ドイツ語の発音は「アイネ」に近い）、そしてOwen Theodore Andersonによって書かれたSINE (Sine Is Not Emacs) がある。WeinrebのEINEはLISPで書かれた最初のEmacsである。1978年にはハネウェルケンブリッジ情報システム研究所でバーナード・グリーンバーグによりMultics Emacsがほぼ全てをMultics MACLISPを用いて書かれ、その後リチャード・ソリーとBarry Margolinによりメンテナンスされた。GNU Emacsを含むEmacsのバージョンの多くは後に拡張言語としてLISPを採用することになる。UNIXで動作する最初のEmacs風エディタは、後にNeWSやJavaの開発で知られることになるジェームス・ゴスリングが1981年に書いたGosling Emacsであった。 これはCで書かれ、MocklispというLISP風構文の拡張言語を使っていた。Mocklispにはシンボルもリストもなく、構文がLISP風なだけで本当のLISPではない。Gosling Emacsは、現在広く使われている自由ソフトウェアのGNU EmacsやMeadowとは異なりプロプライエタリソフトウェアであった。
Emacs 歴史
1984年、リチャード・ストールマンはプロプライエタリソフトウェアであったGosling Emacsの自由ソフトウェアによる代替物を作るべく、GNU Emacsに取り組み始めた。当初GNU EmacsはGosling Emacsをベースとしていたが、ストールマンはMocklispインタプリタを本物のLISPインタプリタに入れ替えてしまい、ほぼすべてのコードが入れ替わった。GNU Emacsは揺籃期のGNUプロジェクトがリリースした最初のプログラムとなった。GNU EmacsはCで書かれており、Cで実装されたEmacs Lisp (ELisp) を拡張言語として提供する。最初に広く頒布されたGNU Emacsのバージョンは1985年に登場した15.34だった。初期のGNU Emacsのバージョン番号は1.x.xのように最初の桁にCコアのバージョンを表すよう採番されていたが、バージョン1.12が出た後にメジャー番号が変わりそうにないため先頭の1をなくすことにしたので、バージョン番号は1から13にスキップした。最初の公開リリースであるバージョン13は1985年3月に完成した。2014年9月にGNU emacs-develメーリングリストで、GNU Emacsにラピッドリリース戦略を採用し、将来的にバージョン番号をより迅速に増やしていくことが発表された。
Emacs 歴史
GNU Emacsは後にUNIXへ移植され、Gosling Emacsよりも多くの機能を提供した。それらの機能の中で代表的な物は、拡張言語であるフル機能を持ったLISPである。それから瞬く間にGNU EmacsはGosling Emacsに取って代わりUNIXのEmacsエディタのデファクトスタンダードとなった。マルクス・ヘスは彼の1986 cracking spreeで、GNU Emacs電子メールサブシステムのセキュリティ上の弱点を悪用し、UNIXコンピュータ上でスーパーユーザーアクセス権を取得した。
Emacs 歴史
Emacsは、チューリング完全な言語を小さい中央コアの頂点で起動する階層型アーキテクチャを使用する。ストックされたEmacs頒布の約3/4（24.4現在では1611kLOCのうち1266）がEmacs Lisp拡張言語で書かれており、一度Cによる中核部分（Emacs Lispインタプリタを実装し、24.4現在では247kLOCを占める）を移植すればEmacs Lispコードに実装された機能のセットは存在することになるので、Emacsを新しいプラットフォームに移植することはネイティブコードのみから成る同等のプロジェクトを移植するよりはるかに簡単である。Emacsの移植は理論上中核部のみを新しいプラットフォームへ移植すればよい。このため一度中核部が移植されれば、Cよりも高級な言語で実装された部分は最小限度の作業で済む。
GNU Emacsの開発は伽藍とバザールで伽藍式開発の例にあげられていたように、1999年まで比較的閉鎖的だったが、それ以降は公開された開発メーリングリストと匿名CVSアクセスを採用するようになった。GNU Emacsの開発は2008年までは単一のCVSトランクで行われていたが2009年末より分散型バージョン管理システムであるBazaarに切り替えられ、さらに2014年11月11日にGitへと移行した。