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

Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-01-2006, 21: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, 22: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, 22: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 07-01-2006, 23: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 : 07-01-2006 alle 23:28.
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2006, 23: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 07-01-2006, 23: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, 09: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, 10: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, 10: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 11:00.
Banus è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 10: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, 12: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 12:36.
Banus è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 13: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 13:23.
pietro84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2006, 14: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, 17: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, 18: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, 11:06   #16
Sberloz
Member
 
Iscritto dal: Aug 2005
Città: Rimini
Messaggi: 169
Sberloz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Da oggi si può acquistare Amazon ...
Windows 11 è più veloce: implementati il...
Ritornano gli auricolari con il cavo: Te...
Insta360 Luna Ultra: ecco il debutto del...
BOOX Go 6 Gen II ufficiale: ora si scriv...
BYD sfida Tesla con un piano da 2 miliar...
La corsa ai datacenter passa dalla stamp...
La Tangenziale di Napoli è la pri...
Steam Machine potrebbe essere dietro l'a...
Come l'Edge AI sta ridefinendo l'operati...
macOS 27 Golden Gate manda in crisi Asah...
Il Messico lancia il primo EV nazionale:...
Via libera in 17 Paesi europei alle sper...
Apple aggiorna le regole dell'App Store:...
I dipendenti Amazon non ci stanno: basta...
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: 15:03.


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