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

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Nuove informazioni sul fallimento del la...
SpaceX: completato parte dell'assemblagg...
Landspace si prepara al secondo lancio d...
Tutti gli sconti Apple su Amazon: tornan...
Altro che entry-level: due smartwatch Am...
Roscosmos ha posticipato (ancora) il lan...
Isar Aerospace si prepara al secondo lan...
Tory Bruno è entrato in Blue Orig...
Fujifilm lancia la cartuccia per archivi...
Dreame H15 Mix: la soluzione 7-in-1 per ...
AirPods Pro 3 in forte sconto su Amazon:...
36 offerte Amazon, molte appena partite:...
2 caricatori multipli eccezionali: da 28...
OLED e 360 Hz a un prezzo senza preceden...
Roborock Q10 S5+ a un prezzo molto conve...
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:22.


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