Vinnaren i pepparkakshustävlingen!
2012-05-27, 15:20
  #1
Medlem
mathlcs avatar
Tjena! Rubriken blev kanske lite missvisande..

Satt och funderade på hur man mha en dator skulle kunna räkna ut den största summan som konvergerar på bästa sätt.

För att sätta upp några premisser: hur stor summa kan en vanlig arbetsdator med säg en Intel i5 2500k-processor och 8GB RAM räkna ut inom ett rimligt tidsintervall (säg fyra veckor)? Vilken serie passar sig bäst? Låter kanske som en ganska onödig och dum fråga.. men tycker det låter som ett litet roligt tankeprojekt.
Citera
2012-05-27, 15:52
  #2
Medlem
sp3tts avatar
Ja, det är en dum fråga. Det är ju egentligen inte svårare än att man allokerar den största numeriska datatypen som tillåts som unsigned, sätter den till 0 och drar ifrån 1.
Kod:
#include <stdio.h>
#include <limits.h>
int main(void ){
printf("%d", UINT_MAX);
return 0;
}
Lär väl ta någon millisekund att köra och använder... antagligen under 1 MB RAM. Man skulle ju kunna tänka sig att det största talet man kan representera med säg 8 GB RAM är 2^(8e9) - 1 om man använder binära int:ar, men det finns ju inget som säger att man måste välja ett sådant talsystem, så "det största tal som kan representeras med 8 GB" är nog inte ens väldefinierat ("Grahams tal" kräver ju betydligt mindre än 8 GB för att representeras).
__________________
Senast redigerad av sp3tt 2012-05-27 kl. 16:05.
Citera
2012-05-27, 16:25
  #3
Medlem
kqrs avatar
Citat:
Ursprungligen postat av mathlc
Tjena! Rubriken blev kanske lite missvisande..

Satt och funderade på hur man mha en dator skulle kunna räkna ut den största summan som konvergerar på bästa sätt.

För att sätta upp några premisser: hur stor summa kan en vanlig arbetsdator med säg en Intel i5 2500k-processor och 8GB RAM räkna ut inom ett rimligt tidsintervall (säg fyra veckor)? Vilken serie passar sig bäst? Låter kanske som en ganska onödig och dum fråga.. men tycker det låter som ett litet roligt tankeprojekt. :)
Att en summa eller serie konvergerar innebär att det finns oändligt många termer. Ingen dator i hela världen kan manuellt addera ihop oändligt många termer, för det tar oändligt lång tid. För att kunna beräkna en sån summa använder man matematiska trick som datorer förmodligen kan räkna på inom loppet av några millisekunder.
Citera
2012-05-27, 17:30
  #4
Medlem
mathlcs avatar
Citat:
Ursprungligen postat av kqr
Att en summa eller serie konvergerar innebär att det finns oändligt många termer. Ingen dator i hela världen kan manuellt addera ihop oändligt många termer, för det tar oändligt lång tid. För att kunna beräkna en sån summa använder man matematiska trick som datorer förmodligen kan räkna på inom loppet av några millisekunder.

Sant. Det var fan en dum fråga. Vid sådana här tillfällen önskar man att det skulle finnas en "ta bort tråd"-knapp.
Citera
2012-05-31, 00:40
  #5
Medlem
M0wes avatar
det är faktist en ganska rolig fråga. antingen konvergerar en summa vid ett fixt värde eller så går summan mot noll och du vill ta reda på vilket det största fixvärde en summa kan konvergera mot? kan man då beräkna ett gränsvärde och skriva en algoritm för serier som konvergerar mot tal nära oändligheten det skulle va roligt att testa i matlab eller liknande
Citera
2012-05-31, 01:15
  #6
Medlem
mac-muirs avatar
Citat:
Ursprungligen postat av M0we
det är faktist en ganska rolig fråga. antingen konvergerar en summa vid ett fixt värde eller så går summan mot noll och du vill ta reda på vilket det största fixvärde en summa kan konvergera mot? kan man då beräkna ett gränsvärde och skriva en algoritm för serier som konvergerar mot tal nära oändligheten det skulle va roligt att testa i matlab eller liknande
Summan behöver ju inte alls konvergera, eller? Tal nära oändligheten?

Man kan ju konstruera serier som konvergerar mot vilket tal som helst, "stort" eller "litet". Det största talet som en serie skulle kunna konvergera mot i en dator som summerade de n första termerna är just det största talet datorn kan hantera, har förträngt vad det heter sen kursen i beräkningsvetenskap (har nog förträngt hela den kursen för den delen).

Dvs, låt datorn summera ettor tills den skriker. Summans värde precis innan den skriker är det största värdet en godtycklig summa kan konvergera mot.
Citera
2012-05-31, 10:51
  #7
Medlem
mathlcs avatar
Citat:
Ursprungligen postat av M0we
det är faktist en ganska rolig fråga. antingen konvergerar en summa vid ett fixt värde eller så går summan mot noll och du vill ta reda på vilket det största fixvärde en summa kan konvergera mot? kan man då beräkna ett gränsvärde och skriva en algoritm för serier som konvergerar mot tal nära oändligheten det skulle va roligt att testa i matlab eller liknande

Haha det där lär mer diffust än min fråga.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback