Come formulare il punto di intersezione delle equazioni nD con ciascuna di origine distinta?
Diciamo che abbiamo $n$-linea / piano / iperpiano dimensionale $n$ rappresentato da $n$quantità di equazioni. Nota che ciascuna delle equazioni sta attraversando un'origine diversa$O\in\mathbb{R}^n$.
Quale sarebbe il modo più semplice per:
- compute e, facoltativamente
- verifica (tipo, esistenza) della loro intersezione $I\in\mathbb{R}^n$?
Un esempio più semplice forse potrebbe essere questo:
$$\begin{equation}\begin{aligned} x_1 + y_1 &= a_1\\ \end{aligned}\end{equation}\tag{1}\label{eq1}$$ $$\begin{equation}\begin{aligned} x_2 + y_2 &= a_2\\ \end{aligned}\end{equation}\tag{2}\label{eq2}$$
con \ eqref {eq1} sta avendo origine $O_1$ e \ eqref {eq2} ha origine di $O_2$.
Tracciato in questo modo:

2 linee con diversa origine in $\mathbb{R}^2$
Diciamo $I$è graficamente dimostrato di esistere come sopra. Qual è la soluzione analitica da raggiungere$I_{x}$ e $I_{y}$?
Punto positivo se può essere formulato come problema algebrico numericamente stabile.
Risposte
Se usiamo la notazione vettoriale, punta $\vec{p}$ è su hyperplane $\vec{n}, d$ se e solo se $$\vec{p} \cdot \vec{n} = d \tag{1}\label{1}$$
Ma, se la definizione di iperpiano è rispetto all'origine $\vec{o}$, allora è $$(\vec{p} - \vec{o}) \cdot \vec{n} = d \tag{2a}\label{2a}$$ che è equivalente a $$\vec{p} \cdot \vec{n} = d + \vec{o} \cdot \vec{n} \tag{2b}\label{2b}$$
In altre parole, avendo l'iperpiano definito rispetto ad un punto non all'origine, cambia solo la componente scalare (distanza con segno) dell'iperpiano. In coordinate assolute, la componente scalare è aumentata dal prodotto scalare tra la normale dell'iperpiano e il punto utilizzato come origine per la definizione dell'iperpiano.
Se usiamo $\vec{p} = (p_1 , \dots , p_N)$ per le coordinate di un punto da considerare, $\vec{n} = (n_1 , \dots , p_N)$ per l'iperpiano normale e $\vec{o} = (o_1, \dots, o_N)$ per il punto usato come origine per la definizione dell'iperpiano possiamo scrivere $\eqref{2a}$ come $$(p_1 - o_1) n_1 + \dots + (p_N - o_N) n_N = d \tag{3a}\label{3a}$$ e $\eqref{2b}$ come $$p_1 n_1 + \dots + p_N n_N = d + o_1 n_1 + \dots + o_N n_N \tag{3b}\label{3b}$$ o, in forma di somma, come $$\sum_{i=1}^{N} p_i n_i = d + \sum_{i=1}^N o_i n_i \tag{3c}\label{3c}$$
Diciamo che hai due iperpiani, $(n_1, \dots, n_N ; d)$ e $(u_1, \dots, u_N ; p)$, con "origini" $(o_1, \dots, o_N)$ e $(g_1, \dots, g_N)$: $$\left\lbrace ~ \begin{aligned} \sum_{i=1}^N p_i n_i &= d + \sum_{i=1}^N o_i n_i \\ \sum_{i=1}^N p_i u_i &= p + \sum_{i=1}^N g_i u_i \\ \end{aligned} \right . \tag{4} \label{4}$$ dove entrambe le equazioni in $\eqref{4}$ valgono solo per $(p_1, \dots, p_N)$ all'incrocio dei due iperpiani.
L'unica differenza rispetto alla situazione standard è la somma extra costante aggiunta alla componente scalare, dipendente solo dall '"origine" (rispetto alla quale è stato definito l'iperpiano) e dall'iperpiano normale.
abbiamo $N$iperplani. Usiamo la notazione$\vec{n}_i = (n_{i, 1}, \dots, n_{i, N})$ per i loro vettori normali, e $d_i$ per le loro distanze segnate dall'origine assoluta, cioè includendo la somma costante sul lato destro in $\eqref{3c}$ o $\eqref{4}$.
Se formiamo una matrice $\mathbf{M}$, con ogni riga costituita da un iperpiano normale, $$\mathbf{M} = \left[ \begin{matrix} n_{1, 1} & n_{1, 2} & \dots & n_{1, N-1} & n_{1, N} \\ n_{2, 1} & n_{2, 2} & \dots & n_{2, N-1} & n_{2, N} \\ \vdots & \vdots & ~ & \vdots & \vdots \\ n_{N-1, 1} & n_{N-1, 2} & \dots & n_{N-1, N-1} & n_{N-1, N} \\ n_{N, 1} & n_{N, 2} & \dots & n_{N, N-1} & n_{N, N} \\ \end{matrix} \right ] \tag{5}\label{5}$$ e un vettore colonna $y$ dalle distanze segnate comprese le somme di compensazione "origine" costante, $$y = \left[ \begin{matrix} d_1 \\ d_2 \\ \vdots \\ d_{N-1} \\ d_{N} \\ \end{matrix} \right ] \tag{6}\label{6}$$ con $x$ essendo il vettore colonna per il punto di intersezione, il sistema di equazioni diventa $$\mathbf{M} x = y \tag{7a}\label{7a}$$ Questo ha una soluzione se $\mathbf{M}$ è invertibile, $$x = \mathbf{M}^{-1} y \tag{7b}\label{7b}$$
In un programma per computer, $\mathbf{M}$può essere quasi singolare se alcune delle normali sono quasi linearmente dipendenti (cioè, un prodotto di punti a coppie è vicino al prodotto delle loro norme euclidee; o, equivalentemente, le normali sono quasi parallele o quasi opposte). Ovviamente, se due o più delle normali sono parallele o opposte, l'intersezione non è più un punto.
A meno che tu non abbia requisiti aggiuntivi non dichiarati, praticamente qualsiasi libreria di algebra lineare dovrebbe funzionare bene per questo.