1. 規範社会=1次元空間(Rank-1 System)
従来の社会構造は「男/女」「正常/異常」といった一次元の基底で人を分類する。
数学的に言えば:
規範ベクトル空間 V = span{ e₁ }
ここで e₁ は「異性愛規範ベクトル」。
他の方向(同性愛、ノンバイナリなど)は射影され消える。
2. クィア理論=高次元空間への拡張
クィア理論は「e₁ だけでは世界を張れない」と主張する。
したがって空間はより高次元に拡張される:
V = span{ e₁, e₂, e₃, …, eₙ }
各基底 eᵢ は以下を表す:
| ベクトル | 意味 |
|---|---|
| e₁ | 性的指向(sexuality) |
| e₂ | ジェンダー表現(gender expression) |
| e₃ | 人種(race) |
| e₄ | 階級(class) |
| e₅ | 身体性(body, disability) |
したがって「個人」は単一軸でなく、多次元ベクトルとして存在する:
個人ベクトル p = a₁e₁ + a₂e₂ + a₃e₃ + … + aₙeₙ
3. インターセクショナリティ=線形結合と共分散
差別や抑圧は単独軸で作用しない。
複数の軸が線形結合し、交差項(共分散)として現れる。
抑圧強度 O = Σ_i Σ_j w_ij · x_i · x_j
ここで
- xᵢ:社会属性変数(性、階級、人種など)
- wᵢⱼ:それぞれの関係における重み(構造的不平等の強さ)
この形はまさに共分散行列(covariance matrix)。
→ 抑圧構造は、単独変数ではなく**非対角項(交差)**に宿る。
4. クィア的実践=非正則変換(Non-Invertible Transformation)
規範社会では、行列変換 T によってすべての個体が同じ形に写される:
y = T x
ここで T は「規範化変換(Normalization Matrix)」。
しかしクィア理論は、その変換が非正則(det(T)=0)であり、
多様な情報を圧縮・損失させていることを指摘する。
→ クィア的思考とは、
x' = T⁻¹y
を求めようとする逆変換(脱規範化、De-normalization)である。
5. データサイエンス的視点:PCAとクィアの可視化
主成分分析(PCA)はデータの分散が最も大きい方向を求める。
しかし社会では、しばしば「最大分散=主流の声」として扱われ、
少数派(小分散)はノイズとして除去される。
数式的に:
主成分 = argmax_v (vᵀΣv)
クィア理論的には、
**「小さな固有値方向にこそ重要な意味がある」**と主張する。
すなわち:
クィア成分 = argmin_v (vᵀΣv)
→ 少数派ベクトルをノイズではなく、
「隠された固有空間」として再評価する解析。
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
# ==========================
# 1. Data Generation
# ==========================
# Normative society: almost one-dimensional (binary gender logic)
np.random.seed(0)
n_samples = 50
x_norm = np.linspace(-2, 2, n_samples)
y_norm = 0.1 * np.random.randn(n_samples)
norm_data = np.column_stack((x_norm, y_norm))
# Queer space: multidirectional variation (gender/identity diversity)
angle = np.pi / 6
rotation = np.array([[np.cos(angle), -np.sin(angle)],
[np.sin(angle), np.cos(angle)]])
queer_data = norm_data @ rotation.T + np.random.normal(scale=0.3, size=(n_samples, 2))
# ==========================
# 2. PCA Analysis
# ==========================
pca = PCA(n_components=2)
pca.fit(queer_data)
center = np.mean(queer_data, axis=0)
components = pca.components_
explained = pca.explained_variance_ratio_
# ==========================
# 3. Visualization
# ==========================
plt.figure(figsize=(8, 6))
plt.scatter(queer_data[:, 0], queer_data[:, 1], alpha=0.6,
label="Individual vectors (Queer Space)")
# Principal component = mainstream social direction
plt.quiver(center[0], center[1],
components[0, 0], components[0, 1],
scale=3, color='r', width=0.015,
label=f"Principal Axis (Normative) Var={explained[0]:.2f}")
# Minor component = marginalized direction
plt.quiver(center[0], center[1],
components[1, 0], components[1, 1],
scale=3, color='b', width=0.015,
label=f"Queer Axis (Minority) Var={explained[1]:.2f}")
plt.title("Queer Theory × PCA: From Normative Rank-1 Space to Multi-Dimensional Diversity")
plt.xlabel("Dimension 1 (Sexuality / Norm)")
plt.ylabel("Dimension 2 (Expression / Fluidity)")
plt.legend()
plt.grid(True)
plt.axis("equal")
plt.show()