Modules de calcul scientifique avec Python
12 pages
Español

Modules de calcul scientifique avec Python

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
12 pages
Español
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Niveau: Supérieur, Master, Bac+4
Modules de calcul scientifique avec Python (introduction) 15 janvier 2008 1 Utilisation de modules (standards et librairies exté- rieures) Pour importer un module, il faut utiliser la commande import NomDuModule . Il est alors possible d'obtenir une aide sur le module avec la commande help(NomDuModule ). Les fonctions s'utilisent sous la forme NomDuModule .NomDeLaFonction (paramètres ). Il est également possible d'importer le contenu du module sous la forme from NomDuModule import * et alors les fonctions peuvent être utilisées directement par NomDeLaFonction(paramètres). 1.1 math Ce module standard comporte toutes les fonctions mathématiques usuelles : > > > import math > > > print math.sin(math.pi/4) 0.77 > > > print math.log(10.0) 2.3 ou : > > > from math import * > > > print sin(pi/4) 0.77 > > > print log(10.0) 2.3 Pour utiliser des fonctions mathématiques sur des complexes, il faudra importer le module cmath en plus du module math. Néanmoins en général il est plus simple d'utiliser directement scipy, qui inclut toutes les fonctions de math et cmath, et permet également de les utiliser sur des tableaux. 1

  • modules de calcul scientifique avec python

  • numeric integration

  • scipy

  • tracé de données scientifiques

  • import

  • scientifiques

  • python


Sujets

Informations

Publié par
Publié le 01 janvier 2008
Nombre de lectures 54
Langue Español

Extrait

Moquesdulesmath.log(10.0)de,calcul:sc0.707106781187ienmotiquelesastandardv>ecmathPythonour(inortertroestduction)et15s?esjanmathvierles2008import1>Utilisation>de>moprintdulesfonctions(standa,rdscmathetN?anmoinslibrairiesdirectemenext?-lesrieures)ermetPtableaux.ourtimp.ortermounortemomath?matiquesdule,>il>fautmath.sin(math.pi/4)ut>iouliser>l*aprintcomm>an2.30258509299dertimportdesNomDuModulefaudra.moIlplusestmathalorsg?n?ralpsimpleossiblescipd'obtenirinclutunedeaideetsurtlesurmoutiliduledirectemenaparvNomDeLaFonction(param?tres)ec1.1laCecomdulemandecomptouteshelp(fonctionsNomDuModuleusuelles)>.>Lesmathfonctions>s'utilisenprintt0.707106781187sous>laprintforme2.30258509299:NomDuModule>.fromNomDeLaFonctionimport(>param?tres>)sin(pi/4).>Il>estlog(10.0)?galemenPtutilisepdesossiblemath?mad'impiortersurlecomplexesconiltenimpuledudulemoenduledusousdulela.formeenilfromplusNomd'utiliserDuModuletimporty*quitoutesetfonctionsalorsmathlescmath,fonctionspp?galemeneuvdeeutiliserndest1?trefait1.2ExemplesScipl'aideyet(scientticenpquiython,*hn'utilittpd'un://www.sciponyin.org)seCe.moadulesurnelafaitpaseutpartieparlesd?fautecdecomplex64,Pythonemais,est2endug?n?ralmopr?sennt,fromouauraitp()eutsin()?treDansobtenqueuet??partirqu'deexemplel'adresseimporthpttpdisp://www.scipdesy,.org.tCeinmotdulelapdidacticielermetalg?briquese:nfonctionparticulierviend'eectuerduledeslescalculs(sur)desimptableauxec:mDuModule>il>am>fonctionfromutiliser...scipyderni?reimportort?e*n>cas>e>importa=zeroensuites([2,5],floating)suiv#fonctionunOntableaun'impdene2dule,lignesvetmat5.colonnesscip>v>tes>Enprinteutaa#fonctionsrempli,det0.0e(nombresoat32,r?els)in[[suiv0.t0.donn?e0.souhait?e.0.par0.]scip[aux0.matrics,0.e0.://0.une0.]]sin(),>pro>t>moa[1,3]scipy=4.0Si#deuxModidulesficationmathd'unscipy?l?ment?taie>t>ort?s>vprintaNo[[import0.,0.y0.une0.biguit?0.]quelle[sin0.?0.En0.la4.fonction0.]]imp>?craserait>pr?c?de>te...a[0,ces:]=1.0l?,#sModificationrdelaNomDuModulepremi?reetlignemath.sin()>scipy.sin()>an>laprintdasir?e.[[p1.m?me1.orter1.u1.fonction1.]mo[par0.a0.ec0.from4.h0.]]sin>Lire>de>yprintoura[oir:,3]di?ren#fonctionsAffonibles.ichageparticulier,deplacr?erquatri?metableauxcolovnneles[ones1.zeros4.]et>utilisan>comme>ypsin(a):array([[complex128,0.84147098,oat64,0.84147098,t16,0.84147098,t32,0.84147098,t64,0.84147098],an[le0.yp,de0.et,pr?cision0.1.2.1,Commencer-0.7568025le,de0.y]])consacr?Amanipulationsttendetionquisurtrouvla?derni?rehttplignewww.scipy.org/SciPy_TutorialonutilisetEssa8.yesterhotheExample:1+3.24919696j,ltering,functionsExampleort.2laa=scipetscipy.fftpack.fft(a)optimizeNumericalsignalintegrationsp.eRegarder:desCKptems.etitsimpexercicesexempledans>le0.co16.okb-10.+13.7638192joeokunconstraineddeot-ndingscipcessingyTI:sphttpessel,:/*/www.scipy.org/Cookbookmean,EnBLASparticuliertationSomelinearsolvingregressionla,adule)optimizationhelp(NomDuModule),duleimportsmoothingfftpacka>signal4.12.Des>p-10.+63.1etits26542528jexemplesad'utilisationset.deconstrainedfonctionsmescipandygorithmspsignaleandudesign,vetc.)encialtcial?treestrouvairy?c?::vhttp*:/algebra/www.scipy.org/Numpy_Example_Listbased1.2.2TLASSous-moLAPdulessparsedematrixscipfactorizationylinearScipencore,ycumenestonibleunr?edunvsemandemPbleequiAcomprend>de>nomscipybreux>mo>dulesautiles2.p6.our10.des14.scien18.tiques>:190.*-10.+30.77683537jcluster-10.:+5.09525449jinformationfromtheorysamplfunctionsdata(curren*tly:,andvqoptimizationandtkmeans)ds*rowal-ea*v:epro:(1-Dc2-DompilationlterofLnsystems,umeric*expressionseto:C++eforfunctionfastypexecution(b*gamma,tpac,kt:.)faststatsFstatisticalou(stdev,riar,eretc.)transformlinalgmolinearduleandbasedroutinesonontpacAkimplemenandoftAw*when:asparsevsuppaiLUlableand*Sparsegasys-:L?geneticdealdogorithmstation*dispio(:preadingsandortwritingmonaumericecarracom-ys,MATLABar.mat,landmoMatrixFFTPMarkCKet>.m>txscipyles>*frominimporttegrate>:>ny.array(range(20),scipy.floating)umeric>inprinttegration[for1.b3.ounded5.and7.un9.b11.ounded13.ranges.15.ODE17.solv19.]ers.>*printin[terp+0.jolate3751515j:-10.+19.62610506jin-10.+10.jterp+7.olation-10.of-10.v3aluescourbe-10.ermettan+1.soit5838444jp-10.eut+0.jeut-10.o-1.#5838444jdier-10.fonctions-3.le24919696jour-10.soit-5.09525449jdonn?s-10.P-7.26542528j101-10.-10.jsur-10.-13.7638192jts-10.-19.62610506june-10.-30.77683537joir-10.-63.13751515j]soit1.2.3PExtensionsdesouilajoutanpplicationstoujoursde4scipley1.3.1Sesinr?f?rer??#:theutttpsauv://eps...wtiww.scaipetytations.org/Twopical_Softwfonctionarecourb1.3unesT:rac?windodedierdonn?esipscienylabtiquesdans(1D,jouter2D)ylabasonvvecdematplotlib/plesylabeLetracertrac?:dedetoutesavelesy=sin(x)courbdeesOnsccourbienontiquesomer,semarges,faitdans?(jpg,l'aideOndejoutermatplotlibre,duquiecest,une.librairiedodoncestlelesdecutilisanommandessondetipythonsimilairestracer?onmatlab.mettrePlaourparl'utiliser,1ilutilisateursfautsimpsoitorterraccourciledemo(endulepsaylabce(rcommand?)couourmatplotlib.oSionlautilisequiiptython,aleecpluscosimpleutilis?eourstg?n?rer.deCourbd?marrer1Dipourythonuneauso?devx=linspace(-5,5,101)eccoordonn?esl'option-5-p5ylab,ci.valeurse.plot(x,y):Trac?laipython!-pylabobtienune1e.laquelleCelapimpzoortemotoutlesleetmoegarderduledi?renetformatsppng,ermet)deptraravunaillerten,mol?gende,detexteinvteractifles,title()?'legend()est-?-diretext()queVlalesgurecumens'acdehefonctionsausurfursiteeteb?matplotlib,mesureenqu'onttap?eapr?slesnominstructionsladedanstrac?.(plut?tourqueplusieursdees,nepvlesoirlesla?guresuitequ'?autres,laexemplen).plot(x,y,"r-",x,cos(x),"g.")LaPr?f?rencelescompl?tededewmatplotlib,estfautlisiblmoele?pl'adresset:lancerhythonttpa://matplotlib.sourceforge.net/matplotlib.ptyla-pb.h?tmlsuite),RegardercopierlaraccourcisectionuneIlonsole,estpenaparticulierl'recommand?ptidenregarder-ples?n.screenshots,ourr-Effaceindiquedulesqueourlaoniblespremi?retransformecourb#e:estul?ctracerlanguageen#imshow(z,extent=(x.min(),x.max(),y.min(),y.max()))rougeonascienv:ecpyVTKdesUnetraits,enettg.SWIGqueoniblelag/moin/NumericAdeuxi?meuestcorrecte,?untracer?en1.4vcersparticulieraivtraitemenecenDdesgraphiquepdesoin?ests.ainsiVoiroirterfacel'?aide(tr?sdeourplot()wpg/pypiourx=x+y*0.4conna?treenlesy=y+x*0autresRepr?sentationoptionsclf()defigurecetrac?trac?.plusieurs1.3.2suite)Courbleemo2DPyMolP:ourcristallographiecelaprot?ines)onQuanutiliseeimshow(z)ouroudupcolor(x,y,z)Mayavi,.:x=linspace(-5,5,201)repr?seny=linspace(-7,7,201)[3D:,newaxis]jeure#denewaxiseindiquefortranquesonceivecteurPythonestbasselonunelav2?meythondimensionost.Pythonz=sin(x**2+y**2)Uneimshow(z)de#oniblesAfficheestlle'imageconsacr?enhttp2Dhttpimshow(z,extent=(x.min(),x.max(),y.min(),y.max()))).##Onxpr?cisetableales2Dcoordonn?esz=sin(x**2+y**2)des#axenonsinclin?ejet()##laPouravantavoirnouveauune(siplusaffichejoliefigurestableladepcolor(x,y,z,shading='flat')couleurseffectueL'incontrac?vAutres?niendulesttiquesdeetimshoctbxwpestlaque(encedestPyQuanteteChimiefonctiontsuppquoseSnackquepleletableaut2Dsignalaceth?Op(z)Xcorresppondla?tationdeensetc...comaordonn?espartier?guli?reslibrairiesencalcxd?vetloppyen,ouceC/C++quitn'estdpasspforc?menent(vlepluscas.commenPcr?erourincelaaoneutiliseppgr?cecolor,Bomaisoux,y),zlistedoivincompl?te)enmotdispalorsptousPython?tredispdessurtableauxsite2Deb!auP(ar://www.python.orexemple;:://www.python.orx=linspace(-5,5,201)ndScienticy=linspace(-7,7,201)[5:,newaxis]a=range(taille)De.nominbreux#moBoucledusil000estempspforeuvauenentde?galemenoptnomseimporttrouvaveer#?inpartirversionduc=scipy.ones(taille)siteteSourceforgealcul(enendcdeher-pc2hanptrationsdansiso-8859-15lesdepro#jetsoucleutilisanboucletnombrepr)ythonc[i]=a[i]+b[i]comme(talangage?:Avechttpun://sourPythoncpefordege.net/softwarm?dioemap/trneove_list.phpas?form_claat=178is?).arMaisuneled'additionmeilleurdemots,ycalculerend'opdesecondesacodingvimportoir#sisurunheure)outileparunetiPythonculierAvecac=range(taille)?t?renvoied?vsecondeseloppin?forene)Pythonprintest%6.3fencore#d'utilictoris?serd'unGoa=scipy.ones(taille)otableauxgle6!langageDeterpr?t?,nompr?senbreuxdeslaberfomancesoratoirestermeutilisenctassezetcresd?voneloppprenptgardes?outilsm?tho?utilbaseedePPythonexemplepouroursimplele?rationcalculdescietableauxn100tique,?l?men?onGrenobleeut(leILLbre,?-ESRFpar,:CEA-*-,:CNRS-*-)scipyettimeailleursModule(enfonctionparticulieler(date,letaille=100000Lab1?roratoireversionLacwrencebLivenermorenbiter=10LLNL#,uneleb=range(taille)CERNt1=time.time()).time.time()2lePdeerformance?coul?esetiinxrange(nbiteterface:C/C++i<->xrange(taillPython:[Ft2=time.time()a-"cultatif:]Mflops"%(2.1ille*nbiter)/(t2-t1)/1e6)P2?meerformanceve:eCl'aide/tableCnbiter=1000+#+desvsb=scipy.ones(taille)Pythont1=time.time()Etantlongfor)i(float)nbiter/inetxrange(nbiteclock_tr)imp:Cec=a+b7t2=time.time();j++)printcout"delete[]bTableau2:p%6.3cftMflops"%(long(tfor(unsignedaille*nbiter)/(t2-t1)/1e6)+Lafdi?rence"<de<endltemps}dv'au?x?cution?treestpastr?slanette,deuxplusoinqu'untefacteura=a50b=b!c=cSij=0on=compare;a;vseconds=(float)(time1-time0)/(float)CLOCKS_PER_SECec<"C++un(float)tailleprogrammeecondsendelete[]acdelete[]c+di?rence+te(compilerPythonenrapputilisanvtmaisg++g?nanvite.cppdes-olongsvitetetersion?x?cuter+leplusprogrammedesvitequiasourcevdeec*p./vite);:*p#;3?me*pversion;enlongc++;j<taille#include*pc++<stdlib.h>*pa++#include*pb++<time.h>}#includetime1=clock()<iostream>constusingloatn;amespace<std:;<int*maisn()/1e6<{;const;u;nsigned;longLatresteaille=100000ortan;aconstecu(facteurnsignedparlongortncalculbiter=1000ectoris?;,longsans*atrop=newtelong[taille]our;calculslongtrop*b(<1h).=newd'autanlong[taille]que;vlongen*c+=newestlong[taille]fois;longue,clock_tutilisetime0=clock()p;teursfor(un

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents