Flops
Hej!
Givet ekvationssystemet;
a1x1 + a2x2 + ... + anxn = a , (1)
b1x2 + b2x2 + ... + bnxn = b (2)
Antag att a1 !=0, för att eliminera x1 ur den andra ekvationen multiplicerar man den första med -b1/a1 och adderar till den andra. Detta svarar mot n-1 flops.
Fråga: Hur svarar det mot n-1 flops?
-b1x1 - b1a2x2/a1 - ... - anb1xn/a1 = -b1a/a1, (1´)
0 + TAL2X2 - ... - TALNXN = b - b1a/a1 (2´)
Att multiplicera varje tal i (1) med -b1/a1 antar jag tar n+1 flops, då det finns n termer i vänsterled och 1 term i högerled.
Sen att addera (1´) till (2) antar jag kräver n+1 flops, då vi adderar n+1 gånger eftersom vi har n+1 tal. Borde inte det sammanlagt ta, 2n+2 flops för att utföra den första multiplikationen respektive additionen?
Står det nånstans hur de definierar en flop (floating-point operation), och vilka flops som finns?
Det blir inte +1, för första termen behöver man ju inte räkna ut, den blir noll. Men i övrigt håller jag med om att det är konstigt.
Laguna skrev:Står det nånstans hur de definierar en flop (floating-point operation), och vilka flops som finns?
Det blir inte +1, för första termen behöver man ju inte räkna ut, den blir noll. Men i övrigt håller jag med om att det är konstigt.
Alltså, jo lite vagt.
"En vanlig enhet för att mäta datorns arbetsinsats är flop (floating point operation), som består av en addition och en multiplikation (dessa förekommer ofta tillsammans) tillsammans med arbetet att hämta och lagra data i ett minne. För en modern persondator (1995) gäller att den gör ca flops i sekunden. Multiplikation tar lite mer tid än addition, division tar mest. Det är viktigt att ha en uppfattning om hur antalet erforderliga räkneoperationer beror av antalet variabler. Detta kallas komplexiteten för beräkningen. Betrakta de två ekvationerna,
Antag att
För att eliminera ur den andra ekvationen multiplicerar man den första med ,
och adderar till den andra. Detta svarar mot flops." Men, alltså är andelen flop andelen
termer som är kvar efter subtraktion av en ekvation med en annan? Då det finns ekvationer under den första i ett ekvationssystem utförs vid eliminering av samtliga
Skulle jag applicera samma princip för , alstras , och så vidare.
Verkar detta vettigt?
Om en flop kan utföra en multiplikation och en addition så behövs bara n stycken för att eliminera x1 ur den andra ekvationen. Eller n+1 för man ska ju räkna ut b1/a1 också. Varför de får n-1 vet jag inte.
När man fortsätter så blir raderna kortare och kortare, så totala arbetet blir inte n2 utan nånting närmare n2/2. I praktiken gör det inte så mycket om det är +1 eller -1 fel nånstans, för det viktiga är storleken på den största termen. Men det betyder inte att facit låter dig slarva, förstås.
Jag hittar många sidor på webben som använder flop för antingen en addition eller multiplikation, inte båda på en gång, och nästan ingenting om att en flop skulle utföra båda. Du ska förstås följa vad din bok säger, men det verkar inte vara den gängse definitionen.
Lektorn förstod inte heller, viftade lite halvt bort frågan. Verkade inte så viktigt i det stora hela. Jag har i alla fall stött på det nu!
Flyttal (floating point number) kan beskrivas som en grupp av data-typer som kan illustreras med:
Flops är ett mått på hur många operationer (multiplikationer, additioner, etc.) en processor klarar per sekund på tal med den data-typen.
Sedan finns olika typer av flyttals-representationer 16/32/64/etc. bitar långa.
Moderna processorer har en dedikerad hårdvara speciellt avsedd för snabba flyttalsoperationer.