quote:Op vrijdag 10 juli 2009 19:35 schreef GlowMouse het volgende:
Ik wil met de pc controleren of M in span{I,A,A^2,...,A^k} zit. I is de identiteit, alle matrices zijn nxn en n>=k.
Eerste aanpak: alle matrices vectoriseren en vervolgens controleren mbv loodrechte projectie of M in de kolomruimte van X = [vec(I) vec(A) ... vec(A^k)] zit. Dat lukt niet: de elementen van de matrix X zijn te groot voor de pc om nauwkeurig mee te rekenen (je krijgt bv. rank(X'X) < rank(X)).
Tweede aanpak: kijk of M en A dezelfde eigenvectoren hebben, en zoja, of de vector met eigenwaarden van M (in de juiste volgorde gezet) in de kolomruimte X zit, met X_ij = (λ_i)^(j-1) (i=1..n, j =1..k+1). Maar daarbij loop ik tegen hetzelfde probleem aan.
Wat verwacht je nog meer dan de afleiding op http://en.wikipedia.org/wiki/Triple_product_rule ?quote:Op vrijdag 10 juli 2009 20:28 schreef ErictheSwift het volgende:
gegeven:
F(x,y,z) = 0
bewijs: [ afbeelding ]
als als voorwaarde geldt in elke factor 1 variabele als impliciete functie de andere 2 gegeven is.
Die gaat uit van een heleboel aannames, en ik probeer het op een wat fundamentelere manier voor elkaar te krijgen. Ik had al even gespiekt bij het artikel Implicit Function en geprobeerd of ik daar iets zinnigs mee kon.quote:Op vrijdag 10 juli 2009 20:31 schreef GlowMouse het volgende:
tip: dx/dy =
Wat verwacht je nog meer dan de afleiding op http://en.wikipedia.org/wiki/Triple_product_rule ?
Je probeert daar een computationeel probleem op te lossen? Wat voor matrices zijn het precies? I.e. hoe groot zijn ze, over welke ring zijn ze gedefinieerd, etc?quote:
A is de adjacency matrix van een reguliere graaf, alle elementen van machten van A zijn dus niet-negatieve gehele getallen. Uiteindelijk moet het zeker werken voor grafen tot op 15 knopen maar liefst voor meer, en binnen enkele dagen moeten 50M grafen te controleren zijn.quote:Op vrijdag 10 juli 2009 21:00 schreef thabit het volgende:
[..]
Je probeert daar een computationeel probleem op te lossen? Wat voor matrices zijn het precies? I.e. hoe groot zijn ze, over welke ring zijn ze gedefinieerd, etc?
rank(X'X) < rank(X), en de x die ||Xx-b|| minimaliseert is inv(X'X)X'b dus X'X is wel cruciaal. Een double zal wel niet precies genoeg zijn (int32/int64 gebruiken lukt niet; Matlab kan daar niet mee rekenen als het matrices betreft).quote:Op vrijdag 10 juli 2009 21:34 schreef thabit het volgende:
Waarom kon de computer die berekening niet aan waarbij je de matrices in vectoren omzet?
M zijn de afstandsmatrices (M_{xy} = 1 iff d(x,y) = c, en dan c variëren van 2 t/m de diameter totdat het fout gaat). Bij niet-afstandsreguliere grafen is er grote kans dat c de diameter niet haalt, en waar het fout gaat is van belang om precies te weten.quote:Op vrijdag 10 juli 2009 21:34 schreef thabit het volgende:
Waarom kon de computer die berekening niet aan waarbij je de matrices in vectoren omzet? Verwacht je eigenlijk dat de matrix M vaak wel of vaak niet in het opspansel van die anderen zit?
A = [[0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0],[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1],[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1],[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],[1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0]]quote:Kun je misschien een voorbeeld geven van een typisch geval van A, M en k waarvoor je het wil oplossen? (matrices graag als rij van rijen dus bijv. [[1, 2], [3, 4]])
1 2 3 4 5 6 7 | powers = [A^j for j in range(k+1)] vectors = [vector(reduce(operator.add, map(list, x))) for x in powers] V = VectorSpace(QQ, len(vectors[0])) W = V.subspace(vectors) v = vector(reduce(operator.add, map(list, M))) return v in W |
1 2 | True |
hoe doe je dat dan?quote:Op dinsdag 21 juli 2009 12:36 schreef thabit het volgende:
Ik neem aan dat je p+4 bedoelt ipv p+3? In dat geval: kijk naar de resten die je kunt krijgen bij deling door 3.
Kijk nou naar de rest na deling.quote:Op dinsdag 21 juli 2009 12:40 schreef Borizzz het volgende:
[..]
hoe doe je dat dan?
3|p dan p=q*3
3|p+2 dan p+2=q*3 dus p=q*3-2
3|p+4 dan p+4=q*3 dus p=q*3-4
Kijk eerst eens wat je wilt onderzoeken, en ga dan pas denken wat voor toets je daarvoor kunt gebruiken.quote:Op dinsdag 21 juli 2009 12:37 schreef vaagsel het volgende:
en wat kan ik daarmee zeggen over Object A en Object B? Dus, hoe zou ik een uitkomst moeten interpreteren?
Als p=q*3-2, wat krijg je dan als je p door 3 deelt? Niet -2.quote:
dus als ik p deelbaar door 3 stel, dan zijn p+2 en p+3 niet deelbaar door 3. Daar komt het dan op neer.quote:Op dinsdag 21 juli 2009 12:48 schreef GlowMouse het volgende:
[..]
Als p=q*3-2, wat krijg je dan als je p door 3 deelt? Niet -2.
p+3 is wel deelbaar door 3.quote:Op dinsdag 21 juli 2009 12:51 schreef Borizzz het volgende:
[..]
dus als ik p deelbaar door 3 stel, dan zijn p+2 en p+3 niet deelbaar door 3.
Als je zelf al niet ziet dat het klopt, waarom zou je er dan genoegen mee nemen als ik zou zeggen dat het wel klopt?quote:Op dinsdag 21 juli 2009 12:58 schreef Borizzz het volgende:
[..]
sorry, ik bedoelde p+4. klopt het dan zo?
Bekijk het even heel simpel. We nemen aan dat p priem is. Dan zijn er drie mogelijkheden, namelijk dat p=3, of dat de rest bij deling van p door 3 gelijk is aan 1 of dat de rest bij deling van p door 3 gelijk is aan 2.quote:Op dinsdag 21 juli 2009 13:14 schreef Borizzz het volgende:
Als je kijkt naar
3|p+2 dan p+2=q*3 en dus ook p=q*3-2 (niet deelbaar door 3).
zelfde geldt voor p+4.
dus alleen p is dan deelbaar door 3, p+2 en p+4 niet. De vraag is of dit dan klopt.
waarom gelden dan deze 3 mogelijkheden? Waarom nu precies p=3, en niet 5 of 7. Dat zijn immers ook priemgetallen?quote:Op dinsdag 21 juli 2009 13:54 schreef Riparius het volgende:
[..]
Bekijk het even heel simpel. We nemen aan dat p priem is. Dan zijn er drie mogelijkheden, namelijk dat p=3, of dat de rest bij deling van p door 3 gelijk is aan 1 of dat de rest bij deling van p door 3 gelijk is aan 2.
Ook dit kan ik nog niet volgen.quote:Op dinsdag 21 juli 2009 13:54 schreef Riparius het volgende:
[..]
Laat ik nu tevens aannemen dat p niet gelijk is aan 3. Is nu de rest bij deling van p door 3 gelijk aan 1, dan moet p+2 een drievoud zijn (want 1+2=3), en is dus p+2 niet priem.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |