「正則」という言葉、聞いたことありますか?
数学やプログラミングを学ん
でいると、「正則」という言葉に出会うことがあります。
しかし、実はこの言葉、文脈によって全く違う意味を持つため、混乱することが多いのです。
この記事では、「正則」の主な3つの意味を、初心者の方にもわかりやすく解説します。
「正則」の3つの意味
「正則」という言葉は、主に以下の3つの文脈で使われます。
| 分野 | 日本語 | 英語 | 意味 |
|---|---|---|---|
| 線形代数 | 正則行列 | Regular Matrix / Invertible Matrix | 逆行列を持つ正方行列 |
| 複素解析 | 正則関数 | Holomorphic Function / Regular Function | 複素数の領域で微分可能な関数 |
| 情報科学 | 正規表現 | Regular Expression | 文字列パターンを表す表記法 |
注意:
- 情報科学では「正規表現」と呼ばれますが、英語は”Regular Expression”で、”Regular”は「正則」とも訳せます。
- 数学では「正則」、情報科学では「正規」と訳し分けられることが多いです。
「正則」の語源と共通点
「正則(Regular)」の意味:
英語の”Regular”には「規則的」「整った」「正常な」という意味があります。
数学や情報科学では、「ある概念に強い制限をかけたもの」という意味で使われます。
共通点:
- 制限をかけることで、扱いやすくなる
- 特別な性質を持つ
- 理論的に重要
例:
- 正則行列:逆行列を持つという制限 → 連立方程式が解ける
- 正則関数:微分可能という制限 → 無限回微分可能、べき級数展開可能
- 正規表現:正規文法で表現可能という制限 → 効率的にパターンマッチング可能
1. 正則行列(線形代数)

正則行列とは
正則行列(せいそくぎょうれつ、Regular Matrix)とは、逆行列を持つ正方行列のことです。
別名:
- 可逆行列(Invertible Matrix)
- 非特異行列(Non-singular Matrix)
逆行列とは
数学では、ある数 a に対して、a × (1/a) = 1 となる (1/a) を「逆数」と呼びます。
同様に、行列にも「逆行列」があります。
行列 A に対して、以下を満たす行列 B が存在するとき、B を A の逆行列と呼び、A⁻¹ と書きます。
条件:
A × B = B × A = I
ここで、I は単位行列(対角成分が1、それ以外が0の行列)です。
正則行列の定義
定義:
n次正方行列 A に対して、以下を満たす n次正方行列 A⁻¹ が存在するとき、A は正則行列である。
A × A⁻¹ = A⁻¹ × A = I
正則行列の例
例1:2×2行列
以下の行列 A は正則です。
A = [ 2 5 ]
[ 1 3 ]
なぜなら、以下の行列 B が存在するからです。
B = [ 3 -5 ]
[ -1 2 ]
計算すると:
A × B = [ 2 5 ] × [ 3 -5 ] = [ 1 0 ] = I
[ 1 3 ] [ -1 2 ] [ 0 1 ]
B × A = [ 3 -5 ] × [ 2 5 ] = [ 1 0 ] = I
[ -1 2 ] [ 1 3 ] [ 0 1 ]
したがって、B = A⁻¹ です。
例2:正則でない行列
以下の行列 A は正則ではありません。
A = [ 0 0 ]
[ 0 0 ]
どんな行列 B を持ってきても、A × B = I とはなりません。
正則行列の判定方法
行列 A が正則であるかどうかを判定する方法はいくつかあります。
方法1:行列式を計算
A が正則 ⇔ det(A) ≠ 0
行列式(Determinant)が0でなければ、正則です。
例:
A = [ 2 5 ]
[ 1 3 ]
det(A) = 2 × 3 – 5 × 1 = 6 – 5 = 1 ≠ 0
したがって、A は正則です。
方法2:ランクを確認
A が n次正方行列で正則 ⇔ rank(A) = n
行列のランク(階数)が行列のサイズと等しければ、正則です。
方法3:固有値を確認
A が正則 ⇔ すべての固有値が0でない
固有値に0が含まれていなければ、正則です。
正則行列の性質
正則行列には、以下のような重要な性質があります。
性質1:逆行列の一意性
正則行列 A の逆行列 A⁻¹ は一意に定まります。
性質2:逆行列の逆行列
(A⁻¹)⁻¹ = A
逆行列の逆行列は、元の行列です。
性質3:転置と逆行列
(Aᵀ)⁻¹ = (A⁻¹)ᵀ
転置行列の逆行列は、逆行列の転置と等しいです。
性質4:積と逆行列
(A × B)⁻¹ = B⁻¹ × A⁻¹
積の逆行列は、逆行列の積(順序が逆)と等しいです。
性質5:行列式と逆行列
det(A⁻¹) = 1 / det(A)
逆行列の行列式は、元の行列の行列式の逆数です。
正則行列の応用
正則行列は、以下のような場面で重要です。
応用1:連立方程式を解く
連立一次方程式 Ax = b を考えます。
A が正則なら、両辺に左から A⁻¹ をかけて:
x = A⁻¹ × b
結論:
A が正則 ⇔ 連立方程式 Ax = b が一意の解を持つ
応用2:線形変換
行列は、ベクトル空間の線形変換を表します。
A が正則 ⇔ この線形変換は可逆(逆変換が存在)
応用3:一般線型群
n次正則行列の全体は、行列の積に関して一般線型群(General Linear Group)と呼ばれる群を成します。
これは、代数学や幾何学で重要な概念です。
2. 正則関数(複素解析)

正則関数とは
正則関数(せいそくかんすう、Holomorphic Function)とは、複素数の領域で微分可能な関数のことです。
別名:
- 整型関数(Holomorphic Function)
- 解析関数(Analytic Function)
注意:
複素解析では、「正則関数」「解析関数」「複素微分可能関数」はすべて同じ意味です。
複素関数の微分
複素関数 f(z) が点 a で微分可能とは、以下の極限が存在することです。
f'(a) = lim[h→0] (f(a+h) - f(a)) / h
重要なポイント:
この極限は、h が 0 に近づく「どの方向」からでも同じ値でなければなりません。
複素平面では、h は無数の方向から 0 に近づくことができます(例:実軸方向、虚軸方向、斜め方向など)。
これが、実関数の微分よりもはるかに強い条件です。
正則関数の定義
定義:
複素関数 f(z) が、領域 D 内のすべての点で微分可能であるとき、f(z) は D 上で正則である。
例:
- f(z) = z²は、複素数全体で正則
- f(z) = eᶻ は、複素数全体で正則
- f(z) = 1/z は、z ≠ 0 で正則
コーシー・リーマンの方程式
複素関数 f(z) = u(x, y) + iv(x, y) が正則であるための必要十分条件は、コーシー・リーマンの方程式(Cauchy-Riemann Equations)を満たすことです。
コーシー・リーマンの方程式:
∂u/∂x = ∂v/∂y
∂u/∂y = -∂v/∂x
ここで、u(x, y) は実部、v(x, y) は虚部です。
例:f(z) = z² が正則であることを確認
z = x + iy とすると:
f(z) = z² = (x + iy)² = x² - y² + 2ixy
したがって、u(x, y) = x² – y²、v(x, y) = 2xy
偏微分すると:
∂u/∂x = 2x, ∂v/∂y = 2x → ∂u/∂x = ∂v/∂y ✓
∂u/∂y = -2y, ∂v/∂x = 2y → ∂u/∂y = -∂v/∂x ✓
コーシー・リーマンの方程式を満たすので、f(z) = z² は正則です。
正則関数の驚くべき性質
正則関数には、実関数にはない驚くべき性質があります。
性質1:無限回微分可能
正則関数は、無限回微分可能です。
実関数では、1回微分可能でも2回微分可能とは限りませんが、複素関数では、1回微分可能なら無限回微分可能です。
性質2:べき級数展開可能(テイラー展開)
正則関数 f(z) は、任意の点 z₀ の周りでべき級数に展開できます。
f(z) = Σ[n=0 to ∞] (f⁽ⁿ⁾(z₀) / n!) (z - z₀)ⁿ
つまり、正則関数 = 解析関数です。
性質3:コーシーの積分定理
正則関数 f(z) を、閉曲線 C に沿って線積分すると、その値は 0 です(Cで囲まれた領域内で f(z) が正則であれば)。
∮_C f(z) dz = 0
性質4:コーシーの積分公式
正則関数 f(z) の値は、その点を囲む曲線上での積分で表せます。
f(z₀) = (1 / 2πi) ∮_C (f(z) / (z - z₀)) dz
性質5:リウヴィルの定理
複素数全体で有界な正則関数は、定数関数に限られます。
これは、実関数では成り立たない驚くべき定理です。
例えば、sin(x) は実数全体で有界ですが、定数関数ではありません。しかし、複素関数として sin(z) を考えると、複素数全体では有界ではありません。
正則関数の例
例1:多項式関数
f(z) = z²、f(z) = z³ + 2z + 1 など
すべての多項式関数は、複素数全体で正則です(整関数)。
例2:指数関数
f(z) = eᶻ
複素数全体で正則です。
例3:三角関数
f(z) = sin(z)、f(z) = cos(z)
複素数全体で正則です。
例4:有理関数
f(z) = 1/z
z ≠ 0 で正則です(z = 0 は極)。
例5:正則でない関数
f(z) = z̄(複素共役)
コーシー・リーマンの方程式を満たさないため、正則ではありません。
正則関数の応用
正則関数は、以下のような分野で重要です。
- 複素解析:関数論の中心的な対象
- 物理学:流体力学、電磁気学、量子力学
- 工学:等角写像、信号処理
- 数論:解析的整数論、リーマンゼータ関数
3. 正規表現(情報科学)

正規表現とは
正規表現(せいきひょうげん、Regular Expression)とは、文字列のパターンを表現するための表記法です。
英語:
- Regular Expression
- 略:regex、regexp、RE
注意:
日本語では「正規表現」と呼ばれますが、英語の”Regular”は「正則」とも訳せます。
数学では「正則表現」と訳されることもあります。
正規表現の目的
通常の検索では、「apple」のように具体的な文字列を指定します。
しかし、正規表現を使うと、「こんな感じの文字列」という曖昧なパターンを指定できます。
例:
- 「a で始まる単語」
- 「数字が3つ並んだ部分」
- 「メールアドレスの形式」
- 「電話番号の形式」
正規表現の基本
正規表現は、通常の文字と「メタ文字」と呼ばれる特別な記号を組み合わせて書きます。
基本的なメタ文字
| メタ文字 | 意味 | 例 | マッチする例 |
|---|---|---|---|
. | 任意の1文字 | a.c | abc, a1c, a@c |
* | 直前の文字の0回以上の繰り返し | ab*c | ac, abc, abbc, abbbc |
+ | 直前の文字の1回以上の繰り返し | ab+c | abc, abbc, abbbc |
? | 直前の文字の0回または1回 | ab?c | ac, abc |
^ | 行頭 | ^abc | 行の先頭が”abc” |
$ | 行末 | abc$ | 行の末尾が”abc” |
[] | いずれか1文字 | [abc] | a, b, c |
[^] | 否定(いずれでもない1文字) | [^abc] | a, b, c 以外 |
| | または | cat|dog | cat または dog |
() | グループ化 | (ab)+ | ab, abab, ababab |
文字クラス
| 記号 | 意味 |
|---|---|
\d | 数字(0-9) |
\D | 数字以外 |
\w | 単語文字(英数字とアンダースコア) |
\W | 単語文字以外 |
\s | 空白文字(スペース、タブ、改行など) |
\S | 空白文字以外 |
正規表現の例
例1:電話番号
パターン:
\d{3}-\d{4}-\d{4}
意味:
\d{3}:数字3桁-:ハイフン\d{4}:数字4桁-:ハイフン\d{4}:数字4桁
マッチする例:
- 090-1234-5678
- 080-9876-5432
例2:メールアドレス
パターン(簡易版):
\w+@\w+\.\w+
意味:
\w+:単語文字の1回以上の繰り返し(ユーザー名)@:アットマーク\w+:単語文字の1回以上の繰り返し(ドメイン名)\.:ドット(\でエスケープ)\w+:単語文字の1回以上の繰り返し(トップレベルドメイン)
マッチする例:
- user@example.com
- test@mail.co
例3:日付(YYYY-MM-DD)
パターン:
\d{4}-\d{2}-\d{2}
意味:
\d{4}:数字4桁(年)-:ハイフン\d{2}:数字2桁(月)-:ハイフン\d{2}:数字2桁(日)
マッチする例:
- 2025-01-05
- 2024-12-31
正規表現の用途
正規表現は、以下のような場面で使われます。
用途1:文字列の検索
テキストエディタやプログラミング言語で、特定のパターンに一致する文字列を探す。
例:
- ログファイルから、エラーメッセージを抽出
- ソースコードから、特定の関数呼び出しを検索
用途2:文字列の置換
特定のパターンに一致する文字列を、別の文字列に置き換える。
例:
- 電話番号の形式を統一(ハイフンあり/なし)
- HTMLタグを削除
用途3:入力のバリデーション
ユーザーが入力した値が、想定した形式に一致しているかチェックする。
例:
- メールアドレスの形式チェック
- パスワードの強度チェック
- 郵便番号の形式チェック
用途4:データの抽出
テキストから、特定のパターンに一致する部分を抽出する。
例:
- ウェブページからURLを抽出
- 文章から日付を抽出
正規表現を使えるツール・言語
正規表現は、多くのプログラミング言語やツールでサポートされています。
プログラミング言語:
- Python:re モジュール
- JavaScript:RegExp オブジェクト
- Java:java.util.regex パッケージ
- Perl:組み込みサポート
- Ruby:Regexp クラス
- PHP:preg_* 関数
ツール:
- テキストエディタ:Visual Studio Code、Sublime Text、Vim、Emacs
- コマンドラインツール:grep、sed、awk
- データベース:MySQL、PostgreSQL(REGEXP演算子)
正規表現の注意点
注意1:処理系によって違いがある
正規表現の仕様は、処理系(言語やツール)によって微妙に異なります。
例:
- Perlの正規表現
- POSIX正規表現
- PCRE(Perl互換正規表現)
- ECMAScript正規表現
注意2:パフォーマンスに注意
複雑な正規表現は、処理に時間がかかることがあります。
対策:
- できるだけシンプルな正規表現を使う
- バックトラック(後戻り)を減らす
注意3:可読性に注意
複雑な正規表現は、読みにくく、メンテナンスが難しくなります。
対策:
- コメントを付ける
- 複雑な正規表現は、複数の簡単な正規表現に分割
よくある質問
Q: 「正則」と「正規」の違いは何ですか?
A: 基本的に同じ意味で、英語の”Regular”の訳語です。
- 数学では「正則」と訳されることが多い(正則行列、正則関数)
- 情報科学では「正規」と訳されることが多い(正規表現、正規化)
ただし、厳密に使い分けられているわけではなく、文脈によります。
Q: 正則行列と正方行列の違いは何ですか?
A: 正方行列は「行数と列数が同じ行列」です。正則行列は「正方行列のうち、逆行列を持つもの」です。
つまり、正則行列 ⊂ 正方行列(正則行列は正方行列の一部)です。
すべての正方行列が正則とは限りません。
Q: 複素関数で「正則」と「解析的」は同じですか?
A: はい、複素解析では同じ意味です。
歴史的には、「正則関数」は「微分可能な関数」、「解析関数」は「べき級数展開可能な関数」として定義されていましたが、複素関数ではこの2つが同値であることが証明されています。
したがって、現在では「正則関数」=「解析関数」として扱われます。
Q: 正規表現はどうやって勉強すればいいですか?
A: 以下のステップがおすすめです:
- 基本的なメタ文字を覚える(
.,*,+,?,^,$,[],|,()) - オンライン正規表現テスターを使って練習(regex101.comなど)
- 実際のテキストエディタで検索・置換に使ってみる
- プログラミング言語で実装してみる
Q: 正規表現で「すべてのメールアドレス」を完璧にマッチさせることはできますか?
A: 理論的には可能ですが、実際には非常に複雑になります。
メールアドレスの仕様(RFC 5322)は非常に複雑で、完璧な正規表現は数百文字にもなります。
実用的には、「ほとんどのメールアドレスにマッチする」簡易的な正規表現を使うことが多いです。
Q: なぜ「正則」という名前なのですか?
A: 英語の”Regular”には「規則的」「整った」「正常な」という意味があります。
数学や情報科学では、「ある概念に強い制限をかけたもの」という意味で使われます。
制限をかけることで、扱いやすく、理論的に重要な性質を持つようになるため、「正則」と呼ばれます。
Q: 正則行列の逆行列はどうやって求めますか?
A: 逆行列を求める方法は2通りあります:
方法1:掃き出し法(ガウス・ジョルダンの消去法)
- (A | I) という拡大行列を作る
- 行基本変形で (I | B) の形にする
- B が逆行列 A⁻¹
方法2:余因子行列を使う
- A⁻¹ = (1/det(A)) × (余因子行列の転置)
実際の計算では、掃き出し法の方が効率的です。
まとめ
「正則」について、重要なポイントをまとめます。
「正則」の3つの意味:
| 分野 | 意味 | 重要性 |
|---|---|---|
| 線形代数 | 逆行列を持つ正方行列 | 連立方程式、線形変換 |
| 複素解析 | 複素数の領域で微分可能な関数 | 関数論の中心的対象 |
| 情報科学 | 文字列パターンを表す表記法(正規表現) | 文字列処理の基本ツール |
1. 正則行列(線形代数)
- 定義:逆行列を持つ正方行列
- 判定:行列式が0でない ⇔ 正則
- 応用:連立方程式を解く、線形変換
- 性質:逆行列は一意、積の逆行列 = 逆行列の積(順序逆)
2. 正則関数(複素解析)
- 定義:複素数の領域で微分可能な関数
- 条件:コーシー・リーマンの方程式を満たす
- 驚くべき性質:
- 1回微分可能 → 無限回微分可能
- 正則 = 解析的(べき級数展開可能)
- リウヴィルの定理(有界な正則関数は定数)
- 応用:複素解析、物理学、工学
3. 正規表現(情報科学)
- 定義:文字列のパターンを表す表記法
- 目的:「こんな感じの文字列」を指定
- 基本:通常の文字 + メタ文字(特別な記号)
- 用途:検索、置換、バリデーション、データ抽出
- 注意:処理系によって仕様が異なる
共通点:
- 英語は”Regular”
- 「制限をかけることで、扱いやすくなる」
- 理論的に重要
重要なポイント:
「正則」という言葉は、文脈によって全く違う意味を持ちます。
- 線形代数を学んでいるなら、「正則 = 逆行列を持つ」
- 複素解析を学んでいるなら、「正則 = 微分可能」
- プログラミングをしているなら、「正規表現 = 文字列パターン」
文脈を理解して、適切に使い分けることが重要です。
この記事が、あなたの「正則」の理解の助けになれば幸いです!


コメント