{"id":4121,"date":"2018-05-30T06:00:32","date_gmt":"2018-05-30T04:00:32","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=4121"},"modified":"2018-06-06T06:36:14","modified_gmt":"2018-06-06T04:36:14","slug":"la-regla-de-los-signos-de-descartes","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/la-regla-de-los-signos-de-descartes\/","title":{"rendered":"La regla de los signos de Descartes"},"content":{"rendered":"<p>Los polinomios pueden representarse mediante listas. Por ejemplo, el polinomio x^5+3x^4-5x^2+x-7 se representa por [1,3,0,-5,1,-7]. En dicha lista, obviando el cero, se producen tres cambios de signo: del 3 al -5, del -5 al 1 y del 1 al -7. Llamando C(p) al n\u00famero de cambios de signo en la lista de coeficientes del polinomio p(x), tendr\u00edamos entonces que en este caso C(p)=3.<\/p>\n<p>La <a href=\"http:\/\/bit.ly\/iZXybH\">regla de los signos de Descartes<\/a> dice que el n\u00famero de ra\u00edces reales positivas de una ecuaci\u00f3n polin\u00f3mica con coeficientes reales igualada a cero es, como mucho, igual al n\u00famero de cambios de signo que se produzcan entre sus coeficientes (obviando los ceros). Por ejemplo, en el caso anterior la ecuaci\u00f3n tendr\u00eda como mucho tres soluciones reales positivas, ya que C(p)=3.<\/p>\n<p>Adem\u00e1s, si la cota C(p) no se alcanza, entonces el n\u00famero de ra\u00edces positivas de la ecuaci\u00f3n difiere de ella un m\u00faltiplo de dos. En el ejemplo anterior esto significa que la ecuaci\u00f3n puede tener tres ra\u00edces positivas o tener solamente una, pero no podr\u00eda ocurrir que tuviera dos o que no tuviera ninguna.<\/p>\n<p>Definir las funciones<\/p>\n<pre lang=\"text\">\n   cambios :: [Int] -> [(Int,Int)]\n   nRaicesPositivas :: [Int] -> [Int]\n<\/pre>\n<p>tales que<\/p>\n<ul>\n<li>(cambios xs) es la lista de los pares de elementos de xs con signos distintos, obviando los ceros. Por ejemplo,<\/li>\n<\/ul>\n<pre lang=\"text\">\n     cambios [1,3,0,-5,1,-7]  ==  [(3,-5),(-5,1),(1,-7)]\n<\/pre>\n<ul>\n<li>(nRaicesPositivas p) es la lista de los posibles n\u00fameros de ra\u00edces positivas del polinomio p (representado mediante una lista) seg\u00fan la regla de los signos de Descartes. Por ejemplo, <\/li>\n<\/ul>\n<pre lang=\"text\">\n     nRaicesPositivas [1,3,0,-5,1,-7]  ==  [3,1]\n<\/pre>\n<p>que significa que la ecuaci\u00f3n x^5+3x^4-5x^2+x-7=0 puede tener 3 \u00f3 1 ra\u00edz positiva.<\/p>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\n-- 1\u00aa definici\u00f3n (por comprensi\u00f3n)\n-- ===============================\n\ncambios1 :: [Int] -> [(Int,Int)]\ncambios1 xs = [(x,y) | (x,y) <- consecutivos (noCeros xs), x*y < 0]\n  where consecutivos xs = zip xs (tail xs)\n\n-- (noCeros xs) es la lista de los elementos de xs distintos de cero. \n-- Por ejemplo,  \n--    noCeros [1,3,0,-5,1,-7]  ==  [1,3,-5,1,-7]\nnoCeros :: [Int] -> [Int]\nnoCeros = filter (\/=0)\n\n-- 2\u00aa definici\u00f3n (por recursi\u00f3n)\n-- =============================\n\ncambios2 :: [Int] -> [(Int,Int)]\ncambios2 xs = cambios2' (noCeros xs)\n  where cambios2' (x:y:xs)\n          | x*y < 0   = (x,y) : cambios2' (y:xs)\n          | otherwise = cambios2' (y:xs)\n        cambios2' _ = []\n\nnRaicesPositivas :: [Int] -> [Int]\nnRaicesPositivas xs = [n,n-2..0]\n  where n = length (cambios1 xs)\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Los polinomios pueden representarse mediante listas. Por ejemplo, el polinomio x^5+3x^4-5x^2+x-7 se representa por [1,3,0,-5,1,-7]. En dicha lista, obviando el cero, se producen tres cambios de signo: del 3 al -5, del -5 al 1 y del 1 al -7. Llamando C(p) al n\u00famero de cambios de signo en la lista de coeficientes del polinomio&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[5],"tags":[8,38,28,11,6,45,9],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/4121"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/comments?post=4121"}],"version-history":[{"count":2,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/4121\/revisions"}],"predecessor-version":[{"id":4141,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/4121\/revisions\/4141"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=4121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=4121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=4121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}