c funciones especiales

8
Revista Avances en Sistemas e Informática, Vol.7 No.2, julio de 2010 ISSN 1657-7663 Evalua ción computac ional para calcular los polinom ios de Legendre de primera clase Computational evaluation to compute first kind Legendre  p o ly no m ials Recibido para revisión 15 de abril de 2009, aceptado 4 de junio de 2010, versión final 30 de junio de 2010  Resumen    Los Polinomios de Legendre son uno de los ejemplos más importantes de los Polinomios Ortogonales, porque aparecen como soluciones en varios problemas clásicos, tales como: movimiento de los planetas, aplicaciones matemáticas, campos de conserva ció n de energía, pr opaga ción de calor, propagación de ondas, propagación de ondas de par tículas, propagación de señales teleg ráficas, reco nstr ucción de señales digitales, reconocimiento de patr ones, clasi ficación de objetos, etc. Debido a la importan cia que r epresenta el cálculo de los Polinomios de Legendre en el reconocimiento de pa tr ones, ya sea en dos dimensio nes 2D) o en tres dimensiones 3D), en este artículo se presenta un análisis computacional de la eficiencia del cálculo de los Poli nomio s de Legendr e de pr imera clase. La implementación de los métodos par a calcular los polinomios se realiz ó en dos lenguaj es de pr ograma ción; C++ y Java.  Palabras Clave   Polinomios de Legendre, Polinomios Ortogonales, C++, Java.  bstract   Legendre Polynomials are one of the most important examples of orthogonal polynomials, because they appear as solutions in sev era l classi c pr oblems s uch as pla nets moveme nt, math app lic ations, fie lds of energy co nservation, heat propagation, wave pr opagation, pa rticle wave propagation, spread telegraph sig nals, digital signals reconstruction, pa ttern recognition, object classification, etc. Due to the importance of computation of the Legendre polynomials in pattern recognition, either in two dimensi ons 2D) or three dimensions 3D) , this paper presents a computational analysis of efficiency, to compute first class Legendre polynomials. The implementation of methods for compu ting polynomials was performed in two programming languages, C + + and J ava. César Julio Bustacara Medina, MsC.  Pontificia Universidad Javeriana, Colombia Departamento de Ingeniería de Sistemas [email protected]  Keywords    Legendre Polynomials, Orthogonal Polynomials, C++, Java. I. INTRODUCCIÓN  E l problema fundamental en el r econoc imiento de obje tos, ya sea en 1D, 2D o 3D, es la descripción de los patrones de entrenamiento y luego la generación de los descriptores para los objetos a reconocer. El proceso de descripción de cualquier señal ya sea discreta o continua se puede realizar a través de  polinomios ortogonales. Sin embargo, existen aun problemas computacionales para calcular los polinomios ortogonales, lo cual implica una baja utilización de los mismos porque reducen la eficiencia del proceso de descripción y a la vez de reconocimiento [1] [2] [6] [7] [15] [17]. En la actualidad, existen varias familias de polinomios ortogonales dentro de los cuales se encuentran: los polinomios de Legendre, Chevichev , Laguerre, Bess el, etc. Estos polinomios están definidos en un inter valo [a,  b]. Para el caso par ticular de los polin omios de Legendre, las soluciones son ortogonales en el intervalo [-1,1]. Los polinomios de Legendre tienen diversas aplicaciones en la solución de problemas tales como: movimiento de planetas (ecuación de Kepler), resolución de modelos físicos con ecuaciones diferenciales en derivadas parciales tanto en coordenadas cartesianas como polares (campos de conservación, propagación de calor y propagación de señales), reconstrucción de imágenes digitales, termodinámica (descripción del comportamiento de las sustancias), descripción y reconocimiento de objetos, codificación y reconstrucción de

Upload: jonatan-vignatti-munoz

Post on 14-Oct-2015

13 views

Category:

Documents


0 download

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.