🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #30

Re: [C/algo] Cumul des termes d'un vecteur

#30
From: JKB
Date: Mon, 02 Feb 2009 21:34
53 lines
3178 bytes
Le 02-02-2009, ? propos de
Re: [C/algo] Cumul des termes d'un vecteur,
 Jean-Marc Bourguet ?crivait dans fr.comp.lang.c :
> JKB <knatschke@koenigsberg.fr> writes:
>
>> 	Je suis en train de me poser un problème d'algorithmie (peut-être
>> de base, mais sur ce coup, google n'est pas mon ami...). J'ai un vecteur
>> de real*8, enfin de double ;-) d'une taille imposante (plusieurs milliers
>> de termes de tout ordre de grandeur). Je cherche à obtenir la somme des
>> termes avec le minimum de perte de précision.
>
> Ça, c'est une question pour Vincent. 
>
> En attendant un spécialiste d'analyse numérique, tu peux faire quelque
> chose qui s'approche de la double précision (et que j'ai trouvé si j'ai
> bonne mémoire chez D.E.K.)
>
> real8 sum(real8 const* array, int size)
> {
>   real8 result = 0.0, error = 0.0;
>   int i;
>   for (i = 0; i < size; ++i) {
>     real8 temp = result;
>     real8 y = array[i] + error;
>     result = temp + y;
>     error = (temp - result) + y;
>   }
>   return result;
>
> } 

	Je ne vois pas bien ce soir comment ce truc fonctionne (enfin,
théoriquement parlant...). S'il y avait quelque part un pointeur avec
une explication, je suis preneur.

> Sinon j'ai un vague souvenir que le meilleur moyen (pas nécessairement un
> ordre, tu peux faire des sommes partielles puis les sommer) dépend des
> données.  Si tous les nombres sont positifs, effectivement l'ordre
> croissant est la réponse, mais si il y a des valeurs négative, le trouver
> est dans l'absolu un problème NP-complet.

	J'ai aussi commencé par scinder mon problème pour avoir des sommes
partielles. Le souci est que je ne maîtrise plus la dérive...

	Cordialement,

	JKB

Xpost et fu2 à fca (que j'avais oublié...)
-- 
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Technical Details
Message-ID: <slrngoepmh.t00.knatschke@rayleigh.systella.fr>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!nerim.net!biggoron.nerim.net!not-for-mail
References: <slrngoeilo.t00.knatschke@rayleigh.systella.fr> <87fxiw7g2c.fsf@news.bourguet.org>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,fe49c8794231978a
X-Google-Thread: f5075,fe0f17e9f1e044dd,start
X-Google-Attributes: gidf9822,gidf5075,domainid0,public,usenet
X-Google-Language: FRENCH,UTF8
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!nerim.net!biggoron.nerim.net!not-for-mail
From: JKB <knatschke@koenigsberg.fr>
Newsgroups: fr.comp.lang.c,fr.comp.algorithmes
Subject: Re: [C/algo] Cumul des termes d'un vecteur
Followup-To: fr.comp.algorithmes
Date: Mon, 2 Feb 2009 21:34:17 +0000 (UTC)
Organization: Nerim -- xDSL Internet Provider
Lines: 53
Approved: la prochaine fois, ce sera du RPL/2 !
Message-ID: <slrngoepmh.t00.knatschke@rayleigh.systella.fr>
References: <slrngoeilo.t00.knatschke@rayleigh.systella.fr>
 <87fxiw7g2c.fsf@news.bourguet.org>
Reply-To: wilhelm-siegfried.knatschke-koenigsberg@chezmoi.com
NNTP-Posting-Host: rayleigh.systella.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: biggoron.nerim.net 1233610457 98304 213.41.184.253 (2 Feb 2009 21:34:17 GMT)
X-Complaints-To: abuse@nerim.net
NNTP-Posting-Date: Mon, 2 Feb 2009 21:34:17 +0000 (UTC)
User-Agent: slrn/pre0.9.9-111 (Linux)