Download - c Funciones Especiales

Transcript
  • RevistaAvancesenSistemaseInformtica,Vol.7No.2,juliode2010ISSN16577663

    EvaluacincomputacionalparacalcularlospolinomiosdeLegendredeprimeraclase

    ComputationalevaluationtocomputefirstkindLegendrepolynomials

    Recibidopararevisin15deabrilde2009,aceptado4dejuniode2010,versinfinal30dejuniode2010

    Resumen Los Polinomios de Legend r e son uno de losejemplosm s impor t an tes de los Polinomios O r togona les,porque apar ecen como soluciones en var iosproblemas clsicos,t a les como: movimien to de los p lan et a s, a p licacionesmatemticas, campos deconservacin deenerga, propagacinde ca lor, p ropagacin de ondas, p ropagacin de ondas depar tculas, propagacinde seales telegr ficas, reconstruccinde seales digitales, r econocimiento de patrones, clasificacindeobjetos,etc.Debidoalaimportanciaquerepresentaelclculod e los Polinomios de L egen d r e en el r econocimien to d epatrones,ya seaen dosdimensiones (2D)o en tres dimensiones(3D), eneste ar tculose pr esenta un anlisis computacional delaeficienciadelclculodelosPolinomiosdeLegendredepr imeracla se. La imp lementacin de losmtodos pa r a ca lcu la r lospolinomios se r ealiz endos lenguajesde programacinC++yJ ava.

    Pa labra s Cla vePolinomios de Legendr e, PolinomiosOrtogonales,C++, J ava.

    AbstractLegendrePolynomialsareoneofthemostimportantexamples of or thogonal polynomials, because they appea r assolutions in sever al classic problemssuch asplanetsmovement,mathapplications,fieldsofenergyconservation,heatpropagation,wavepropagation, par ticlewavepropagation, spr ead telegraphsignals,digital signals reconstruction, pattern recognition, objectclassification, etc.Due to the importanceof computationof theLegendr e polynomia ls in pa t tern r ecogn it ion , either in twodimensions (2D)or threedimensions (3D), this paper presents acompu tat ional ana lysis of efficiency, to compu te fir st cla ssLegendre polynomia ls. The imp lementa t ion ofmethods for computing polynomia ls wa s per formed in two pr ogramminglanguages,C++andJ ava.

    Csar J ulioBustacaraMedina,MsC.PontificiaUniversidadJaveriana,ColombiaDepartamentode IngenieradeSistemas

    [email protected]

    KeywordsLegendre Polynomials,Or thogonalPolynomials,C++,J ava.

    I . INTRODUCCIN

    Elproblemafundamentalenelreconocimientodeobjetos,yaseaen1D,2Do3D,esladescripcindelospatronesdeentrenamientoyluegolageneracindelosdescriptoresparalosobjetosareconocer.Elprocesodedescripcindecualquiersealyaseadiscretaocontinuasepuederealizaratravsdepolinomiosortogonales.Sinembargo,existenaunproblemascomputacionalesparacalcularlospolinomiosortogonales,locualimplicaunabajautilizacindelosmismosporquereducenla eficiencia del proceso de descripcin y a la vez dereconocimiento[1][2][6][7][15][17].Enlaactualidad,existenvariasfamiliasdepolinomiosortogonalesdentrodeloscualesseencuentran:lospolinomiosdeLegendre,Chevichev,Laguerre,Bessel,etc.Estospolinomiosestndefinidosenunintervalo[a,b].ParaelcasoparticulardelospolinomiosdeLegendre,lassolucionessonortogonalesenelintervalo[1,1].

    LospolinomiosdeLegendretienendiversasaplicacionesenlasolucindeproblemastalescomo:movimientodeplanetas(ecuacin deKepler), resolucin de modelos fsicos conecuaciones diferenciales en derivadas parciales tanto encoordenadas cartesianas como polares (campos deconservacin,propagacindecalorypropagacindeseales),reconstruccindeimgenesdigitales,termodinmica(descripcindel comportamiento de las sustancias), descripcin yreconocimiento de objetos, codificacin y reconstruccin de

  • RevistaAvancesenSistemaseInformtica,Vol.7No.2,juliode2010ISSN16577663132

    seales, y en diversos problemas fsicos (gravitacin,electrosttica,etc.)dondeaparecenfuerzasquedependendelinversodeladistanciaentredoscuerpos[2][6][7].

    En este ar tculo se revisa en primera instancia laformulacin matemtica de los polinomios deLegendre deprimeraclase(unasolavariable),posteriormentesedefinenlosdiferentesmtodosparaobtenerlospolinomios,luegosedescribe las tcnicas utilizadas para su implementacincomputacionalyfinalmenteserealizaunanlisisdelaspruebasyseanalizanlosresultadosobtenidos[2][16].

    II.POLINOMIOSDELEGENDRE

    Los polinomios deLegendresurgen comouna alternativaparasolucionarlaecuacindiferencialdeLegendre,queensuformacannicasedefinecomo[2][9]:

    (1x2)y2xy+y=0 (1)

    Cuya solucin general es la combinacin lineal de dossolucioneslinealmenteindependientes:

    y(x)=Ay1(x)+By

    2(x) (2)

    Comocasoparticulardeestas solucionessi = (+1)

    con = n N unadedichassolucionesesunPolinomiodeLegendredeordenn.Enestecasolasolucingeneraltomalaforma[9]:

    y(x)=APn(x)+BQ

    n(x) (3)

    LospolinomiosdeLegendrePn(x)yQ

    n(x)queaparecenenla

    ecuacin (3) son soluciones de la ecuacin diferencial deLegendre(12).LosprimerosseispolinomiosdeLegendreP

    n(x)

    estnrepresentadoscomosemuestraenlaFigura1.

    Figur a 1. Representacin de los primeros seis Polinomios de Legendre.

    La ecuacin de los polinomios de Legendre usando larepresentacindeRodrguezestdadaporlaecuacin(4)[2][9][13][16].

    ,donde (4)

    Como semencion, los polinomios de Legendre sonortogonalesenelintervalo[1,1],locualpermitequeseanutilizados como una combinacin de series infinitas defunciones linealmente independientes. Lo anterior implicaquepuedenserutilizadosenlaproyeccinyreconstruccinde seales, es decir, son unmecanismo para encontrar larepresentacin de una seal. La ecuacin (5)muestra lanotacin de una funcin f, que es multiplicada por lospolinomiosdeLegendreparaobtenerloscoeficienteskquelarepresentan[2][9][16][18].

    (5)

    EstemecanismosepuedeverenlaFigura2(a),enlacualsemultiplicacadaunodelospolinomiosdeLegendreP

    n(x)

    porlafuncinfyseencuentracadaunodelosvaloreskn.

    Figura 2. Proyeccin y reconstruccin de una funcin f usando lospolinomios de Legendre (adaptada de [18])

    (a) (b)

    Apartirdelosvaloresknsepuedereconstruirlafuncinf.

    Laecuacin(6)muestraelprocesodereconstruccin[2][9][16][18].

    (6)

    LaFigura2(b)muestraelprocesodereconstruccindelafuncin fapartirdeloscoeficientesk

    nylospolinomiosde

    LegendrePn(x).

    III.APROXIMACIONESNUMRICASDELOSPOLINOMIOSDELEGENDRE

    ComputacionalmenteexistenvariasalternativaspararealizarelclculodelospolinomiosdeLegendre[1][2][6][9][10][12] [13] [14] [16], las cuales fueron consideradas y seimplementaronpararealizarsucorrespondientecomparacin.LalistademtodosaimplementarseenumeraenlaTabla1.

  • EvaluacincomputacionalparacalcularlospolinomiosdeLegendredeprimeraclaseBustacara 133

    Tabla1. Listademtodos para calcular los polinomiosde LegendreMtodos Ecuacin

    1Si n es par existe una singularidad cuando x=0 y (n2k)=0, es decir, 00 no estdefinida.

    2Si n es par existe una singularidad cuando x=0 y (n2k)=0, es decir, 00 no estdefinida.

    3

    Existeunasingularidadcuandox=1yk=0,esdecir,00noestdefinida.

    4Donde,

    5Donde,

    IV.TCNICASDEIMPLEMENTACIN

    SedefinieronalgoritmostantoenlenguajeC++comoJavaparacadaunodelosmtodosdeaproximacinnumricadelospolinomiosdeLegendre [3][4].ParaelcasoespecificodellenguajeC++seutilizeltipodedatolongdoublequeposeeunalongitudde80bits,queeseltipodedatosmayortamaoparacomputacincientfica.EnelcasodellenguajeJavaseutilizeltipodedatodouble.Loanteriorconelfindeaumentarelnmerodepolinomiosquesepuedancalcular,

    LenguajeC++ LenguajeJavalongdoublelegendrePoly1(intn,doublex){

    doublemax=0longdoublepn=0longdoublenum,den

    longdoublecte=1.0/(pow(2.0,n))

    if(n>0)max=floor(n/2)

    for(intk=0k0)max=Math.floor(n/2)

    for(intk=0k

  • RevistaAvancesenSistemaseInformtica,Vol.7No.2,juliode2010ISSN16577663134

    Mtodo2:

    LenguajeC++ LenguajeJ avalong doublelegendrePoly2(intn,doublex){

    doublemax=0longdoublepn=0longdoublevaldoublep1

    longdoublecte=1.0/(pow(2.0,n))

    if(n>0)max=floor(n/2)

    for(intk=0k0)max=Math.floor(n/2)

    for(intk=0k

  • EvaluacincomputacionalparacalcularlospolinomiosdeLegendredeprimeraclaseBustacara 135

    Mtodo4:

    donde,

    LenguajeC++ LenguajeJavalongdoublelegendrePoly4(intn,doublex){

    doublep0=1doublep1=x

    longdoublepn=0

    if(n==0)returnp0

    if(n==1)returnp1

    for(intk=1k

  • RevistaAvancesenSistemaseInformtica,Vol.7No.2,juliode2010ISSN16577663136

    V. PRUEBASY RESULTADOS

    LospolinomiosdeLegendrePn(x)fueronevaluadosparalos

    cincomtodosencadaunodeloslenguajesdeprogramacinyelnmerodevaloresdelavariablexenelintervalo[1,1]fuede752muestras.Paramedireltiempodecomputorequeridoserealizaron10.000ejecucionesdecadaunodelosalgoritmosenunequipoconprocesadorquadcorede2.4GHzyunamemoriaRAM de 2GB. El hecho de tener varias unidades deprocesamiento implica que las operaciones de cmputo sedividieronentreellas.Adicionalmente,secalcularonlosprimeros45polinomiosP

    n(x),debidoaquesepresentaroninconvenientes

    enlostresprimerosmtodos.Estosepuedeverenlasfiguras3,4y5,enlascualessemuestraunproblemadeprecisinenelclculodelospolinomiosP

    n(x)cuandon=57,n=58yn=59

    respectivamente.

    Figura 3. Clculo del polinomio de Legendre cuando n=57

    Figura 4. Clculo del polinomio de Legendre cuando n=58

    EnlaFigura6semuestraunanlisiscomparativode loscincomtodosimplementadosencadaunodeloslenguajes.La coordenada x indica el nmero de polinomios n y lacoordenada y indicaeltiempoenmilisegundosrequeridoparaejecutar el clculo de los n polinomios de Legendre. Deacuerdoalafigura6sepuedededucirquelosmtodos4y5sonmuchoms eficientes que los demsmtodos.Esto esevidenteporquecorrespondenaecuacionesderecurrenciaquepermiten reducir el uso de sumatorias y de clculo defactorialesybinomiales.Adicionalmente,losmtodos1y2sonms eficientes que el mtodo 3, debido a que se deberealizarlamitaddelasoperacionesparaencontrarelvalordelpolinomio.Porotrapartesevequeenelcasoparticulardelmtodo3,esmuchomseficienteellenguajeJavaqueC++.

    Figur a 6. Comparacin de losmtodos para calcular los polinomios deLegendre

    (a) ImplementacinenC++

    (b) ImplementacinenJava

    EnlaFigura7serealizaunacomparacindelosmtodos4y5paracadaunodeloslenguajesdeimplementacin.Enlacolumna izquierda(implementacinC++)sepuedeverquelostiemposderespuestafluctanentrelosdosmtodos,porlo cual los dos son validos para realizar el clculo de lospolinomios. Mientras que en la columna derecha(implementacinenJava)sepuedeobservarqueelmtodo5esmseficientequeelmtodo4pararealizarelclculodelospolinomiosdegradosuperioran=10.Adicionalmente,semantiene la tendencia de eficiencia de Java con respecto aC++,peroestonoconcuerdaconelsupuestodequeC++esmseficientequeJava[3][4][5][11],porlocualserealizaronpruebasconlasdiferentesformasdeobtenerlostiemposenC++, usando las estructuras time_t, clock_t y la funcingettimeofday.El resultado obtenido fue elmismo, es decir,sepresentmayoreficienciaenJava.

    Figura 7. Comparacin de losmtodos4 y5 para calcular lospolinomios de Legendre

    (a) ImplementacinenC++ (b) ImplementacinenJava

  • EvaluacincomputacionalparacalcularlospolinomiosdeLegendredeprimeraclaseBustacara 137

    VI.CONCLUSIONESYTRABAJOFUTURO

    Los algoritmos basados en recurrencias sonmuchomseficientes que los basados en sumatorias, estoocurre tantoenC++comoenJava.Esimportantetrabajarsobrelaparidadde los polinomios para reducir el tiempo computacional,sobre todo cuandose vayan a utilizaren ladescripcin deseales.

    Losmtodos 4 y 5 no presentanmucha diferencia en ellenguajeC++,mientrasqueenlenguajeJavaseapreciaunmejorrendimientoenelmtodo5amedidaquecreceelvalordendelpolinomioacalcular.SerabuenoexplorarvaloressuperioresyanalizarelcomportamientodelosmtodostantoenC++comoenJava.

    Dentro del anlisis de los polinomios se utilizaronnicamente coordenadas cartesianas, pero sera deseableextenderlasolucinacoordenadaspolaresparaverificarelimpacto de las funciones coseno y seno dentro delrendimientode losmtodos.

    Dentro del proceso de clculo de los polinomios deLegendreseencontrinconvenienteenlosmtodos1,2y3enrdenessuperioresden,especficamenteparan>46.Estorefleja una gran desventaja en el momento de encontrarvectoresdedescriptoresdeordenmayora46.

    Elrendimientomsbajoloofreceelmtodo3,puestoquelacotasuperiordelasumatoriaeseldobledelosmtodos1y2.

    Enelprocesodecmputodelosmtodos1,2y3existensingularidadesen las funciones, locual implicaunmayortiempodeejecucinporlaincorporacindecondicionales.

    REFERENCIAS

    [1] AbramowitzM.andStegunI.,1972.HandbookofMathematicalFunctionswithFormulas,Graphs,andMathematicalTables,NationalBureauofStandardsAppliedMathematicsSeries55P.

    [2] ArfkenG.B.andWeberH.J.,2005.MathematicalMethodsforPhysicists,FourthEdition,AcademicPress.

    [3] BessetD.,2001.ObjectOrientedImplementationsofNumericalMethods,MorganKaufmannPress.

    [4] BoisvertR.F.,MoreiraJ.,PhilippsenM.andPozoR.,2000.JavaandNumericalComputing,NIST.

    [5] BruckschlegelT.,2005.MicrobenchmarkingC++,C#andJava,En:Dr.Dobbs,June17.

    [6] ChowT.,2000.MathematicalMethodsforPhysicists:Aconciseintroduction,CambridgeUniversityPress.

    [7] DavisJ.,2004.MathematicalModelingofEarthsMagneticField,TechnicalNote,VirginiaTech,Blacksburg.

    [8] GuseinovI.,1996.Ontheevaluationofrotationcoefficientsforspherical harmonicsusingbinomialcoefficients,En:JournalofMolecularStructure,pp.119121.

    [9] HobsonE.W.,LL.D.andF.R.S.,1965.ThetheoryofSpherical

    andEllipsoidalHarmonics,ChelseaPublishingCompany,NewYork.[10] HuazhongS.,LiminL.,XudongB.,WenxueY.andGuoniuH.,

    2000.AnEfficientMethodforComputationofLegendreMoments,En:GraphicalModels,pp.237262.

    [11] MartinR.C.,1997.JavaandC++:Acriticalcomparison,TechnicalNote,ObjectMentor.

    [12] MukundanR.andRamakrishnanK.,1995.FastComputationofLegendreandZernikeMoments,En:PatternRecognitionVol.28,No.9,pp.14331442.

    [13] PoularikasA.D.,1999.LegendrePolynomilas,TheHandbookofFormulasandTablesforSignalProcessing,CRCPressLLC.

    [14] PewThianY.andRaveendranP.,2005.AnEfficientMethodfortheComputationofLegendreMoments,En:IEEETransactionsonPatternAnalysisandMachineIntelligence,Vol.27,No.12.

    [15] Schwaha P.,Giani C., Heinzl R. and SelberherrS., 2007.Visualisation ofPolynomialsUsed in SeriesExpansions, En:Proceedingsofthe4thHighEndVisualizationWorkshop,pp.139148.

    [16] Sacerdoti J., 2002. Polinomios y Funciones de Legendre,DepartamentodeMatemtica,FacultaddeIngeniera,UniversidaddeBuenosAires.

    [17] SimonX.L.andMiroslawP., 1996.On ImageAnalysis byMoments,En:IEEETransactionsonPatternAnalysisandMachineIntelligence,Vol.18,No.3.

    [18] SchnefeldV.,2005.SphericalHarmonics,ComputerGraphicsandMultimediaGroup,TechnicalNote.RWTHAachenUniversity,Germany.

  • RevistaAvancesenSistemaseInformtica,Vol.7No.2,juliode2010ISSN16577663138

    UniversidadNacionaldeColombiaSedeMedellnFacultaddeMinas

    ReseaHistrica

    La Escuela Nacional de Minas fue fundada el 11 de abril de 1887, bajo la direccin del general Pedro Nel Ospina como rector y como Vicerector Lus Tisns, aunque el general Pedro Nel Ospina no se posesiono, elaboro con ayuda de su hermano Tulio los estatutos y reglamentos de la escuela, los cuales fueron una adaptacin de los estatutos y reglamentos de la Escuela de Minas de California (Berkeley)los cuales fueron cambiando de acuerdo a las necesidades de cada dcada, en ellos se fomento una filosofa con valores cvicos, ticos y de orden por medio del estimulo y el ejemplo que comprometan el comportamiento del estudiante no solo dentro de la escuela sino fuera de ella, a dems se introdujeron hbitos de sobriedad, de economa y principios morales de honradez, honestidad y respeto.

    En sus inicios cont con 22 alumnos matriculados, y luego de tres meses fue cerrada por la poca cantidad de estudiantes, fue reabierta un ao despus, el 2 de enero de 1888, bajo la rectora de Tulio Ospina V, esta vez cont con 27 alumnos matriculados y con un plan de estudios de 4 aos de un mejor control de los programas curriculares y adaptarlos a nuevas condiciones adelantndose a las necesidades futuras de la educacin y asegurando as un buen desempeo de los futuros profesionales.

    En 1906 la Escuela Nacional de Minas se anexo a la universidad de Antioquia, a la que perteneci durante cinco aos ms, en 1911 paso a ser de nuevo una entidad independiente.

    En 1940 la institucin fue incorporada a la Universidad Nacional y contino con el nombre de Escuela Nacional de Minas, ese mismo ao comenz la construccin de la actual sede, la cual fue inaugurada el 19 de diciembre de 1944, en el marco del primer Congreso Nacional de Ingenieros.

    Entre 1941 y 1950 se crean las carreras de ingeniera geolgica y petrleos y arquitectura, la cual se separo de la facultad de Minas en 1954, en1960 se crea la carrera de ingeniera administrativa, luego se crearon los programas de ingeniera industrial, ingeniera mecnica e ingeniera qumica y se separaron los programas de ingeniera geolgica y petrleos en dos programas diferentes, actualmente la Facultad de Minas Administra 11 programas de pregrado en ingeniera, 17 de posgrado y cuatro doctorados.

    La Facultad a lo largo de su existencia ha sido motora del desarrollo de la ciudad, del departamento y del pas, a travs de sus 12.000 egresados quienes han constituido la mayor parte del personal dirigente y tcnico en las explotaciones mineras, las construcciones de distinto tipo, la infraestructura vial, los desarrollos hidroelctricos, las obras de abastecimiento de agua, las obras sanitarias y la industria, as como en los planes de desarrollo fsico, econmico y social.