Torna indietro   Hardware Upgrade Forum > Off Topic > Discussioni Off Topic > Scienza e tecnica

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-01-2006, 22:27   #1
r_howie
Member
 
L'Avatar di r_howie
 
Iscritto dal: Jul 2003
Città: Roma / Lisbona
Messaggi: 86
Matrice pseudo-inversa problematica

Studiando le dispense dell'esame di robotica, non ho capito una cosa di algebra lineare.

In sintesi il mio problema è: come si calcola la pseudo-inversa della matrice J qua sotto?

Ho letto cos'è una matrice pseudo-inversa, tutto chiaro. Se il rango di una matrice J è pieno (rho = m = n), allora vale l'uguaglianza J# = J^(-1), dove con J# indico la matrice pseudo-inversa mentre con J^(-1) la matrice inversa.

Nel caso più generale (cioè rho = m < n... invece il caso m > n in questa materia non interessa), si ha J# = J^T (J J^T)^(-1) avendo indicato con J^T la trasposta (in realtà sarebbe la trasposta coniugata, ma in questa materia non ci sono numeri complessi) e sottointendendo l'operazione di moltiplicazione.

Prendiamo ora questa matrice:

La mia domanda è: come si calcola la sua pseudoinversa, visto che applicando la formula di cui sopra si ottiene e questa matrice prodotto non è certo invertibile, avendo determinante nullo?

La soluzione è , ho verificato che effettivamente rispetta tutte le proprietà della pseudo-inversa, ma non capisco come la si calcoli analiticamente.

s e c indicano seno e coseno dello stesso angolo. Il lucido su cui ho studiato è il numero 12 (pagine 5-6) di questo sito; il pedice 1 di s e c nel pdf si può ignorare: in questo esercizio è irrilevante.
__________________
Ho trattato con ffux, Gordon, OcTaGoN, tyul. Ciao,
-Giovanni
r_howie è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2006, 23:14   #2
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da r_howie
Studiando le dispense dell'esame di robotica, non ho capito una cosa di algebra lineare.

In sintesi il mio problema è: come si calcola la pseudo-inversa della matrice J qua sotto?

Ho letto cos'è una matrice pseudo-inversa, tutto chiaro. Se il rango di una matrice J è pieno (rho = m = n), allora vale l'uguaglianza J# = J^(-1), dove con J# indico la matrice pseudo-inversa mentre con J^(-1) la matrice inversa.

Nel caso più generale (cioè rho = m < n... invece il caso m > n in questa materia non interessa), si ha J# = J^T (J J^T)^(-1) avendo indicato con J^T la trasposta (in realtà sarebbe la trasposta coniugata, ma in questa materia non ci sono numeri complessi) e sottointendendo l'operazione di moltiplicazione.

Prendiamo ora questa matrice:

La mia domanda è: come si calcola la sua pseudoinversa, visto che applicando la formula di cui sopra si ottiene e questa matrice prodotto non è certo invertibile, avendo determinante nullo?

La soluzione è , ho verificato che effettivamente rispetta tutte le proprietà della pseudo-inversa, ma non capisco come la si calcoli analiticamente.

s e c indicano seno e coseno dello stesso angolo. Il lucido su cui ho studiato è il numero 12 (pagine 5-6) di questo sito; il pedice 1 di s e c nel pdf si può ignorare: in questo esercizio è irrilevante.

ma nemmeno J è invertibile....sei sicuro che è possibile calcolare la pseudoinversa di una matrice non invertibile?
io non ricordo bene ma non mi sembra si possa fare...
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2006, 23:26   #3
r_howie
Member
 
L'Avatar di r_howie
 
Iscritto dal: Jul 2003
Città: Roma / Lisbona
Messaggi: 86
Quote:
Originariamente inviato da pietro84
ma nemmeno J è invertibile
Ah, vero.

Quote:
Originariamente inviato da pietro84
....sei sicuro che è possibile calcolare la pseudoinversa di una matrice non invertibile?
Sì. A differenza della matrice inversa (definibile solo quando la matrice di partenza è quadrata e non singolare), la pseudo-inversa esiste sempre. È proprio una generalizzazione dell'inversione, creata per le matrici rettangolari.
__________________
Ho trattato con ffux, Gordon, OcTaGoN, tyul. Ciao,
-Giovanni
r_howie è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 00:20   #4
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da r_howie
Ah, vero.


Sì. A differenza della matrice inversa (definibile solo quando la matrice di partenza è quadrata e non singolare), la pseudo-inversa esiste sempre. È proprio una generalizzazione dell'inversione, creata per le matrici rettangolari.
a me non sembra che esista sempre.... se J*J^T non esiste(edit:o meglio non è invertibile)la pesudoinversa non esiste...domani se ho tempo trovo qualche link...io cmq ricordo che se quel prodotto non si può fare la pseudoinversa non esiste
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84

Ultima modifica di pietro84 : 08-01-2006 alle 00:28.
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 00:39   #5
r_howie
Member
 
L'Avatar di r_howie
 
Iscritto dal: Jul 2003
Città: Roma / Lisbona
Messaggi: 86
Quote:
Originariamente inviato da pietro84
a me non sembra che esista sempre.... se J*J^T non esiste(edit:o meglio non è invertibile)la pesudoinversa non esiste...domani se ho tempo trovo qualche link...io cmq ricordo che se quel prodotto non si può fare la pseudoinversa non esiste
Ti ringrazio. Io ho fatto lo stesso tuo ragionamento quando all'inizio ho scritto che non è invertibile.

Eppure, il J# della soluzione dell'esercizio è proprio la pseudo-inversa di quella J, come si può verificare dal fatto che (grazie alle identità della trigonometria) soddisfa le proprietà/definizioni della pseudo-inversa tipo prodotto J J# J = J, etc.
__________________
Ho trattato con ffux, Gordon, OcTaGoN, tyul. Ciao,
-Giovanni
r_howie è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 00:51   #6
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da r_howie
Ti ringrazio. Io ho fatto lo stesso tuo ragionamento quando all'inizio ho scritto che non è invertibile.

Eppure, il J# della soluzione dell'esercizio è proprio la pseudo-inversa di quella J, come si può verificare dal fatto che (grazie alle identità della trigonometria) soddisfa le proprietà/definizioni della pseudo-inversa tipo prodotto J J# J = J, etc.
allora qualcosa c'è qualcosa di sbagliato o nella traccia o nella soluzione.
il fatto che soddisfi quella proprietà non è una condizione sufficiente per definire quella matrice pseudoinversa di J...cmq vedo meglio domani
ecco un link che ho trovato a volo: http://www.ce.unipr.it/people/medici...try/node2.html

vado a dormire...
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 10:59   #7
Banus
Senior Member
 
L'Avatar di Banus
 
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
Quote:
Originariamente inviato da r_howie
Nel caso più generale (cioè rho = m < n... invece il caso m > n in questa materia non interessa),
Attenzione: il ragionamento funziona solo se la matrice è rettangolare di rango massimo. Nel caso di matrice quadrata si riduce all'inversa.
La matrice J che hai usato come esempio non rispetta queste condizioni (rho < m = n) ed è per questo che J*J^T non è invertibile.
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry
Banus è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 11:47   #8
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da pietro84
allora qualcosa c'è qualcosa di sbagliato o nella traccia o nella soluzione.
il fatto che soddisfi quella proprietà non è una condizione sufficiente per definire quella matrice pseudoinversa di J...cmq vedo meglio domani
ecco un link che ho trovato a volo: http://www.ce.unipr.it/people/medici...try/node2.html

vado a dormire...
ho controllato i tuoi conti,non soddisfa nessuna proprietà, non ho capito come fai a dire che la matrice da te citata soddisfa le proprietà della pseudoiversa:
1.se una matrice è quadrata la pseudoinversa coincide con l'inversa,J non è invertibile,quindi nemmeno la pseudoinversa esiste.
2.JJ#(indicando con J# la matrice da te proposta come pseudoinversa) non da assolutamente la matrice identità quindi non vedo come possa accadere che JJ#J=J
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 11:56   #9
Banus
Senior Member
 
L'Avatar di Banus
 
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
Quote:
Originariamente inviato da pietro84
2.JJ#(indicando con J# la matrice da te proposta come pseudoinversa) non da assolutamente la matrice identità quindi non vedo come possa accadere che JJ#J=J
Devono essere rispettate le condizioni (cioè deve esistere l'inversa di J*J^T), non rispettate dalla J di esempio. Se sono rispettate, J*J# = (J J^T)*(J J^T)^(-1) = I e tutto torna.
EDIT: la J# del primo post non la rispetta
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry

Ultima modifica di Banus : 08-01-2006 alle 12:00.
Banus è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 11:58   #10
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da Banus
Devono essere rispettate le condizioni (cioè deve esistere l'inversa di J*J^T), non rispettate dalla J di esempio. Se sono rispettate, J*J# = (J J^T)*(J J^T)^(-1) = I e tutto torna.
lo so! infatti ricordavo cosi io...
però l'autore del 3d ha scritto che quella matrice da lui proposta nel primo post soddisfa tutte le proprietà della matrice pseudoinversa di J anche se non era possibile calcolarla analiticamente...perciò sono rimasto un po meravilgliato
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 13:34   #11
Banus
Senior Member
 
L'Avatar di Banus
 
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
Quote:
Originariamente inviato da pietro84
però l'autore del 3d ha scritto che quella matrice da lui proposta nel primo post soddisfa tutte le proprietà della matrice pseudoinversa di J anche se non era possibile calcolarla analiticamente...perciò sono rimasto un po meravilgliato
Allora... sono riuscito a sciogliere la matassa.
La matrice J# riportata nel primo post è sbagliata, la reale J# è quella trasposta. La formula J^T (J J^T)^(-1) vale solo per J di rango massimo, condizione ovviamente non soddisfatta in questo caso, e quindi non si può usare. Per questi casi c'è un'altra formula (grazie planethmath ), cioè questa:

J# = C^T (B B^T)^(-1) (C^T C)^(-1) B^T

dove J = BC con B e C matrici di rango massimo rho. I segni di trasposta diventano trasposta coniugata nel caso di matrici complesse (ma non è il nostro caso).
Ora, J può essere espressa come prodotto delle matrici:

B^T = [-s c]
C = [2 1]

e svolgendo i calcoli esce la matrice trasposta di quella scritta da r_howie. Attenzione perchè è necessario usare la proprietà s^2 + c^2 = 1, essendo s e c seno e coseno dello stesso angolo. Calcolando J*J#*J si ottiene ancora J (sempre usando le proprietà di s e c).

PS: gli appunti del corso non mi sono serviti granchè, anzi aumentano la confusione non citando esplicitamente il caso r < n,m
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry

Ultima modifica di Banus : 08-01-2006 alle 13:36.
Banus è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 14:20   #12
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da Banus
Allora... sono riuscito a sciogliere la matassa.
La matrice J# riportata nel primo post è sbagliata, la reale J# è quella trasposta. La formula J^T (J J^T)^(-1) vale solo per J di rango massimo, condizione ovviamente non soddisfatta in questo caso, e quindi non si può usare. Per questi casi c'è un'altra formula (grazie planethmath ), cioè questa:

J# = C^T (B B^T)^(-1) (C^T C)^(-1) B^T

dove J = BC con B e C matrici di rango massimo rho. I segni di trasposta diventano trasposta coniugata nel caso di matrici complesse (ma non è il nostro caso).
Ora, J può essere espressa come prodotto delle matrici:

B^T = [-s c]
C = [2 1]

e svolgendo i calcoli esce la matrice trasposta di quella scritta da r_howie. Attenzione perchè è necessario usare la proprietà s^2 + c^2 = 1, essendo s e c seno e coseno dello stesso angolo. Calcolando J*J#*J si ottiene ancora J (sempre usando le proprietà di s e c).

PS: gli appunti del corso non mi sono serviti granchè, anzi aumentano la confusione non citando esplicitamente il caso r < n,m


ottimo! quindi ricapitolando la pseudoinversa di una matrice quadrata esiste anche quando l'inversa non esiste?!
ma in pratica esiste per qualsiasi matrice quadrata o rettangolare?

edit:quindi stando cosi le cose è la soluzione J# a essere sbagliata
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84

Ultima modifica di pietro84 : 08-01-2006 alle 14:23.
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 15:19   #13
r_howie
Member
 
L'Avatar di r_howie
 
Iscritto dal: Jul 2003
Città: Roma / Lisbona
Messaggi: 86
Che dire... vi ringrazio entrambi di cuore!

L'esame ce l'ho domani. Comunque vada, prossimamente mando una bella email alla docente con le osservazioni (già ne ho una certa lista, i lucidi sono considerati solo "complemento" del libro di testo quindi a volte sono imprecisi o addirittura errati).
__________________
Ho trattato con ffux, Gordon, OcTaGoN, tyul. Ciao,
-Giovanni
r_howie è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 18:39   #14
Sberloz
Member
 
Iscritto dal: Aug 2005
Città: Rimini
Messaggi: 169
Quote:
Originariamente inviato da pietro84
ottimo! quindi ricapitolando la pseudoinversa di una matrice quadrata esiste anche quando l'inversa non esiste?!
ma in pratica esiste per qualsiasi matrice quadrata o rettangolare?

edit:quindi stando cosi le cose è la soluzione J# a essere sbagliata

La pseudoinversa esiste sempre, che la matrice sia rettangolare o quadrata e, in quest'ultimo caso, invertibile o meno. Se la matrice è invertibile semplicemente la pseudoinversa coincide con l'inversa.
Sberloz è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 19:14   #15
pietro84
Member
 
L'Avatar di pietro84
 
Iscritto dal: Nov 2005
Messaggi: 154
Quote:
Originariamente inviato da Sberloz
La pseudoinversa esiste sempre, che la matrice sia rettangolare o quadrata e, in quest'ultimo caso, invertibile o meno. Se la matrice è invertibile semplicemente la pseudoinversa coincide con l'inversa.
si ci arrivammo alla fine,esiste sempre

o meglio Banus capi il problema più che io
__________________
"la scelta giusta non è sempre la più saggia,ma è quella che non porta con sè rimpianti" . pietro84
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 12:06   #16
Sberloz
Member
 
Iscritto dal: Aug 2005
Città: Rimini
Messaggi: 169
Sberloz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Starlink Mobile: SpaceX potrebbe lanciar...
Volkswagen trasforma lo stabilimento di ...
Meta AI più reattivo e imparziale...
In Cina la prima GPU discreta al mondo c...
Vertiv CoolCenter, il sistema di raffred...
Konecta entra nel Kraken BPO Partner Pro...
Un dialogo con l'AI sposta voti meglio d...
iPhone 17 al minimo storico: oggi il 256...
Gli utenti italiani scelgono ChatGPT: &e...
Anche Xiaomi avrà il suo trifold:...
È Natale in casa Tesla: arriva la...
Shai-Hulud diventa più cattivo: e...
Aereo ultraleggero si schianta in atterr...
Windows 11 ha una nuova schermata Esegui...
Netflix si prende HBO, Harry Potter e il...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v