# Revision history [back]

First, it makes sense that you will get [1.0] as the only element of the Groebner basis since, as the polynomial sum_sqr_distances has coefficients in the inexact ring RR, it is likely that the given polynomials generate the whole polynomial ring.

Indeed, when you add a polynomial with coefifients in RR with polynomials with coefficients in QQ, the result will belong to a polynomial ring with coefficients in RR. You can check it by typing:

sage: I ..... over Real Field with 53 bits of precision

You can replace QQ with RDF in the definition of the polynomial ring. Then the coercion will be done towards RDF which consist of low-level floating-point numbers, hence the computation will finish, while it might take longer with RR.

However, i guess that having [1.0] as the only element of the Groebner basis due to working in an inexact ring is quite unsatisfactory.

So, if you want to work on an exact ring, since the name sum_sqr_distances seems to indicate that the coefficients are quadratic numbers, you should define them either in QQbar or in some number field. It is likely that the computation of a Groebner basis will be even slower.

First, it makes sense that you will get [1.0]the coinstant polynomial 1.0 as the only element of the Groebner basis since, as the polynomial sum_sqr_distances has coefficients in the inexact ring RR, it is likely that the given polynomials generate the whole polynomial ring.

 Indeed, when you add a polynomial with coefifients in RR with polynomials with coefficients in QQ, the result will belong to a polynomial ring with coefficients in RR. You can check it by typing: sage: I ..... over Real Field with 53 bits of precisionprecision You can replace QQ with RDF in the definition of the polynomial ring. Then the coercion will be done towards RDF which consist of low-level floating-point numbers, hence the computation will finish, while it might take longer with RR. However, i guess that having [1.0] as the only element of the Groebner basis due to working in an inexact ring is quite unsatisfactory. So, if you want to work on an exact ring, since the name sum_sqr_distances seems to indicate that the coefficients are quadratic numbers, you should define them either in QQbar or in some number field. It is likely that the computation of a Groebner basis will be even slower. 

 3 No.3 Revision updated 2017-12-10 10:08:05 -0600 First, it makes sense that you will get the coinstant polynomial 1.0 as the only element of the Groebner basis since, as the polynomial sum_sqr_distances has coefficients in the inexact ring RR, it is likely that the given polynomials generate the whole polynomial ring. Indeed, when you add a polynomial with coefifients in RR with polynomials with coefficients in QQ, the result will belong to a polynomial ring with coefficients in RR. You can check it by typing: sage: I ..... over Real Field with 53 bits of precision You can replace QQ with RDF in the definition of the polynomial ring. Then the coercion will be done towards RDF which consist of low-level floating-point numbers, hence the computation will finish, while it might take longer with RR. However, i guess that having [1.0] as the only element of the Groebner basis due to working in an inexact ring is quite unsatisfactory. So, if you want to work on an exact ring, since the name sum_sqr_distances seems to indicate that the coefficients are quadratic numbers, you should define them either in QQbar or in some number field. It is likely that the computation of a Groebner basis will be even slower. Of course, you can convert sum_sqr_distances into a polynomial with rational coefficients as follows: sage: sum_sqr_distances = P(sum_sqr_distances) But regarding the "sqr" name of the polynomial, it is likely not to be the way to go. 4 No.4 Revision updated 2017-12-10 10:19:30 -0600 First, it makes sense that you will get the coinstant polynomial 1.0 as the only element of the Groebner basis since, as the polynomial sum_sqr_distances has coefficients in the inexact ring RR, it is likely that the given polynomials generate the whole polynomial ring. Indeed, when you add a polynomial with coefifients in RR with polynomials with coefficients in QQ, the result will belong to a polynomial ring with coefficients in RR. You can check it by typing: sage: I ..... over Real Field with 53 bits of precision You can replace QQ with RDF in the definition of the polynomial ring. Then the coercion will be done towards RDF which consist of low-level floating-point numbers, hence the computation will finish, while it might take longer with RR. However, i guess that having [1.0] as the only element of the Groebner basis due to working in an inexact ring is quite unsatisfactory. So, if you want to work on an exact ring, since the name sum_sqr_distances seems to indicate that the coefficients are quadratic numbers, you should define them either in QQbar or in some number field. It is likely that the computation of a Groebner basis will be even slower. Of course, you can convert sum_sqr_distances into a polynomial with rational coefficients as follows: sage: sum_sqr_distances = P(sum_sqr_distances) But regarding the "sqr" name of the polynomial, it is likely not to be the way to go. Now, regarding your initial problem, perhaps should you forget about polynomial equations, instead, look at the optimization features of Sage, in particular, you can have a look at: sage: minimize? 5 No.5 Revision updated 2017-12-10 10:21:16 -0600 First, it makes sense that you will get the coinstant polynomial 1.0 as the only element of the Groebner basis since, as the polynomial sum_sqr_distances has coefficients in the inexact ring RR, it is likely that the given polynomials generate the whole polynomial ring. Indeed, when you add a polynomial with coefifients in RR with polynomials with coefficients in QQ, the result will belong to a polynomial ring with coefficients in RR. You can check it by typing: sage: I ..... over Real Field with 53 bits of precision You can replace QQ with RDF in the definition of the polynomial ring. Then the coercion will be done towards RDF which consist of low-level floating-point numbers, hence the computation will finish, while it might take longer with RR. However, i guess that having [1.0] as the only element of the Groebner basis due to working in an inexact ring is quite unsatisfactory. So, if you want to work on an exact ring, since the name sum_sqr_distances seems to indicate that the coefficients are quadratic numbers, you should define them either in QQbar or in some number field. It is likely that the computation of a Groebner basis will be even slower. Of course, you can convert sum_sqr_distances into a polynomial with rational coefficients as follows: sage: sum_sqr_distances = P(sum_sqr_distances) But regarding the "sqr" name of the polynomial, it is likely not to be the way to go. Now, regarding your initial problem, perhaps should you forget about polynomial equations, instead, look at the optimization features of Sage, in particular, you can have a look at: sage: minimize? You can also have a look at this question 


 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license. about | faq | help | privacy policy | terms of service Powered by Askbot version 0.7.56 Please note: Askbot requires javascript to work properly, please enable javascript in your browser, here is how //IE fix to hide the red margin var noscript = document.getElementsByTagName('noscript')[0]; noscript.style.padding = '0px'; noscript.style.backgroundColor = 'transparent'; askbot['urls']['mark_read_message'] = '/messages/markread/'; askbot['urls']['get_tags_by_wildcard'] = '/get-tags-by-wildcard/'; askbot['urls']['get_tag_list'] = '/get-tag-list/'; askbot['urls']['follow_user'] = '/followit/follow/user/{{userId}}/'; askbot['urls']['unfollow_user'] = '/followit/unfollow/user/{{userId}}/'; askbot['urls']['user_signin'] = '/account/signin/'; askbot['urls']['getEditor'] = '/get-editor/'; askbot['urls']['apiGetQuestions'] = '/api/get_questions/'; askbot['urls']['ask'] = '/questions/ask/'; askbot['urls']['questions'] = '/questions/'; askbot['settings']['groupsEnabled'] = false; askbot['settings']['static_url'] = '/m/'; askbot['settings']['minSearchWordLength'] = 4; askbot['settings']['mathjaxEnabled'] = true; askbot['settings']['sharingSuffixText'] = ''; askbot['settings']['errorPlacement'] = 'after-label'; askbot['data']['maxCommentLength'] = 800; askbot['settings']['editorType'] = 'markdown'; askbot['settings']['commentsEditorType'] = 'rich-text'; askbot['messages']['askYourQuestion'] = 'Ask Your Question'; askbot['messages']['questionSingular'] = 'question'; askbot['messages']['answerSingular'] = 'answer'; askbot['messages']['acceptOwnAnswer'] = 'accept or unaccept your own answer'; askbot['messages']['followQuestions'] = 'follow questions'; askbot['settings']['allowedUploadFileTypes'] = [ "jpg", "jpeg", "gif", "bmp", "png", "tiff" ]; askbot['data']['haveFlashNotifications'] = true; askbot['data']['activeTab'] = 'questions'; askbot['settings']['csrfCookieName'] = 'asksage_csrf'; askbot['data']['searchUrl'] = ''; /*<![CDATA[*/ $('.mceStatusbar').remove();//a hack to remove the tinyMCE status bar$(document).ready(function(){ // focus input on the search bar endcomment var activeTab = askbot['data']['activeTab']; if (inArray(activeTab, ['users', 'questions', 'tags', 'badges'])) { var searchInput = $('#keywords'); } else if (activeTab === 'ask') { var searchInput =$('#id_title'); } else { var searchInput = undefined; animateHashes(); } if (searchInput) { searchInput.focus(); putCursorAtEnd(searchInput); } var haveFullTextSearchTab = inArray(activeTab, ['questions', 'badges', 'ask']); var haveUserProfilePage = $('body').hasClass('user-profile-page'); if ((haveUserProfilePage || haveFullTextSearchTab) && searchInput && searchInput.length) { var search = new FullTextSearch(); askbot['controllers'] = askbot['controllers'] || {}; askbot['controllers']['fullTextSearch'] = search; search.setSearchUrl(askbot['data']['searchUrl']); if (activeTab === 'ask') { search.setAskButtonEnabled(false); } search.decorate(searchInput); } else if (activeTab === 'tags') { var search = new TagSearch(); search.decorate(searchInput); } if (askbot['data']['userIsAdminOrMod']) {$('body').addClass('admin'); } if (askbot['settings']['groupsEnabled']) { askbot['urls']['add_group'] = "/add-group/"; var group_dropdown = new GroupDropdown(); $('.groups-dropdown').append(group_dropdown.getElement()); } var userRep =$('#userToolsNav .reputation'); if (userRep.length) { var showPermsTrigger = new ShowPermsTrigger(); showPermsTrigger.decorate(userRep); } }); if (askbot['data']['haveFlashNotifications']) { $('#validate_email_alert').click(function(){notify.close(true)}) notify.show(); } var langNav =$('.lang-nav'); if (langNav.length) { var nav = new LangNav(); nav.decorate(langNav); } /*]]>*/ if (typeof MathJax != 'undefined') { MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax: ["input/TeX","output/HTML-CSS"], tex2jax: {inlineMath: [["$","$"],["\$","\$"]]} }); } else { console.log('Could not load MathJax'); } var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try { var pageTracker = _gat._getTracker('UA-61392941-1'); pageTracker._trackPageview(); } catch(err) {} //todo - take this out into .js file $(document).ready(function(){$('div.revision div[id^=rev-header-]').bind('click', function(){ var revId = this.id.substr(11); toggleRev(revId); }); lanai.highlightSyntax(); }); function toggleRev(id) { var arrow = $("#rev-arrow-" + id); var visible = arrow.attr("src").indexOf("hide") > -1; if (visible) { var image_path = '/m/default/media/images/expander-arrow-show.gif?v=19'; } else { var image_path = '/m/default/media/images/expander-arrow-hide.gif?v=19'; } image_path = image_path + "?v=19"; arrow.attr("src", image_path);$("#rev-body-" + id).slideToggle("fast"); } for (url_name in askbot['urls']){ askbot['urls'][url_name] = cleanUrl(askbot['urls'][url_name]); }