Risoluzione sistemi di secondo grado in forma matriciale

il_matematico11
Ciao, vi espongo il mio problema.

Sto realizzando un software, che dopo le dovute analisi si è giunti a un punto dove va trovata la soluzione a un sistema di tre equazioni di secondo grado in due incognite. Dato che il calcolo della soluzione al sistema va fatto parecchie volte, è impensabile scrivere del codice che lo calcola direttamente. L'unico sistema computazionalmente vantaggioso, mi viene da dire che è quello di trovare una soluzione utilizzando il sistema matriciale.
Nel mio caso non sempre avrò dei numeri come coefficienti, ma spesso avrò dei parametri noti.

Andando più nel dettaglio:
per i sistemi lineari sappiamo che la soluzione è data da Ax=B (con A matrice dei coefficienti, x il vettore delle incognite e b il vettore dei termini noti).
Quello che volevo riuscire a capire (e che ho difficoltà a trovare in rete), è una soluzione analoga per sistemi di secondo grado come il seguente:

x^2 + y^2 + a1x + b1x + c1 = r1
x^2 + y^2 + a2x + b2x + c2 = r2
x^2 + y^2 + a3x + b3x + c3 = r3


Ora partono i miei ragionamenti che assolutamente non prendete per certi:
ho pensato a una cosa del tipo: XAX = B, che poteva ridursi in X = (B*A^(-1))^(1/2)....
Ma sappiamo che per invertirla la matrice A deve essere per forza quadrata (nel mio caso è una matrice 3X4)..

La mie domande sono:
1) Conosciete una soluzione matriciale per sistemi di secondo grado? Possibilmente per il mio caso :)
2) Nel caso il mio ragionamento fosse corretto, è possibile trasformare la matrice A 3X4 in una matrice quadrata equivalente, cos' da poterla invertire?
3) Nel caso il punto 2 fosse possibile, come si aggiusta in maniera adeguata il vettore b (matlab mi dice che devono avere lo stesso numero di righe A e B).

Scusate la poca sinteticità...
Grazie

Risposte
il_matematico11
Come potete intuire, devo trovare l'intersezione di tre circonferenze (algoritmo simil GPS)...

ciampax
Per prima cosa, una circonferenza ha equazione $x^2+y^2+ax+by+c=0$, dove il legame tra i coefficienti $a,b,c$ e le coordinate $(\alpha,\beta)$ del centro e il raggio $r$ è il seguente
$$a=-2\alpha,\ b=-2\beta,\ c=\alpha^2+\beta^2-r^2$$
pertanto ti consiglio di vedere il sistema con le equazioni prive dei termini $r_i$(che tra l'altro puoi riassorbire a sinistra).

Il sistema è del secondo ordine, ridurlo a forma matriciale come quelli lineari è impossibile. Del resto già la stessa equazione che definisce una circonferenza si scrive in una forma del tipo $X^T A X=0$, essendo $X=(x\ y\ 1)^T$ e $A$ la matrice dei coefficienti (che risulta $3\times 3$ e che ha la forma
$$A=\left(\begin{array}{ccc}
1 & 0 & a/2\\ 0 & 1 & b/2\\ a/2 & b/2 & c
\end{array}\right)$$

Se il tuo software sa usare le matrici, potresti provare a vedere come impostare la risoluzione di una cosa del tipo
$$X^T A_i X=0,\qquad i=1,2,3$$
dove le matrici $A_i$ sono le matrici dei coefficienti delle singole equazioni.

Tuttavia, secondo me puoi osservare che il sistema si può ridurre ad uno lineare sottraendo membro a membro le varie equazioni, in quanto i termini $x^2+y^2$ si cancellano. Ad esempio la prima meno la seconda equazione danno luogo a
$$(a_1-a_2)x+(b_1-b_2)y+(c_1-c_2)=0$$
per cui potresti costruire un algoritmo che, date le matrici $A_i$ come dicevo prima, fornisce la matrice dei coefficienti del sistema lineare equivalente che, come vedi, è dato dalle differenze dei termini delle $A_i$.

il_matematico11
Ok, mi sembra proprio un percorso logico quello che mi hai consigliato.

Grazie, seguirò i tuoi suggerimenti..

Grazie mille

ciampax
Prego, fammi sapere se ci sono problemi.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.