Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix maxima floating point precision handling #1286

Closed
williamstein opened this issue Nov 27, 2007 · 3 comments
Closed

fix maxima floating point precision handling #1286

williamstein opened this issue Nov 27, 2007 · 3 comments

Comments

@williamstein
Copy link
Contributor

This sucks:

sage: SR(1.93902384092834082309480238482348293402384908) + SR(1)
2.939023840928341

It should do this:

sage: SR(1.93902384092834082309480238482348293402384908) + SR(1)
2.93902384092834082309480238482348293402384908

How to implement this? Use bfloat in Maxima. Here are some examples:

(%i41) block([fpprec:50], bfloat(%pi));
(%o41)       3.1415926535897932384626433832795028841971693993751b0

Have to do some weird crap to coerce in mpfr's:

(%i1) block([fpprec:50], bfloat(1.93902384092834082309480238482348293402384908));
Warning:  Float to bigfloat conversion of 1.939023840928341
(%o1)        1.9390238409283409299344632850674846197472777518007b0
(%i3) block([fpprec:50], bfloat(193902384092834082309480238482348293402384908)/10^44);
(%o3)          1.93902384092834082309480238482348293402384908b0

When simplifying an expression be sure to compute the prec of it as
the min of the precs of all the leaves; integers have infinite precision.

Component: calculus

Issue created by migration from https://trac.sagemath.org/ticket/1286

@williamstein williamstein added this to the sage-2.9.2 milestone Nov 27, 2007
@williamstein williamstein self-assigned this Nov 27, 2007
@zimmermann6
Copy link

comment:1

I'm not sure you really want to implement that. Here you mix:

(1) the precision of a floating-point variable (the number of bits or digits used to store its significand)

(2) the accuracy of a given value (a bound on the error with respect to the exact value)

Your idea is that when the user enters 1.93902384092834082309480238482348293402384908, he/she tells you that there
are as many significant digits. But if you do this, this means that mathematically equivalent values such that
1.939 and 1.9390 would represent different values within SAGE. I don't like this. I much prefer that the user
specifies the precision of the computation as in RealField(23)(1.9390), or that there is a default precision
for all SAGE objects that are converted to floating-point.

@mwhansen
Copy link
Contributor

mwhansen commented Dec 2, 2007

comment:2

This works for me in sage-2.8.15alpha1.

@sagetrac-mabshoff
Copy link
Mannequin

sagetrac-mabshoff mannequin commented Dec 2, 2007

comment:3
----------------------------------------------------------------------
| SAGE Version 2.8.15.alpha1, Release Date: 2007-12-01               |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------

sage: sage: SR(1.93902384092834082309480238482348293402384908) + SR(1)
2.93902384092834082309480238482348293402384908
sage:

Cheers,

Michael

vbraun pushed a commit to vbraun/sage that referenced this issue Sep 16, 2023
    
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a href="h
ttps://redirect.github.com/actions/checkout/pull/1436">actions/checkout#
1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/ch
eckout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a href="h
ttps://redirect.github.com/actions/checkout/pull/1447">actions/checkout#
1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compar
e/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="htt
ps://redirect.github.com/actions/checkout/pull/1377">actions/checkout#13
77</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="http
s://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a> in
<a href="https://redirect.github.com/actions/checkout/pull/579">actions/
checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a href="https://redirect.github.com/actions/checkout/pull/1437">acti
ons/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>@​RobertWieczore
ck</code></a> made their first contribution in <a href="https://redirect
.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a href="https://redirect.github.com/ac
tions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/co
mpare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/ch
eckout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriP
apadopoulos"><code>@​DimitriPapadopoulos</code></a> in <a href="https://
redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a
></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a href="htt
ps://redirect.github.com/actions/checkout/pull/1369">actions/checkout#13
69</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a href="https://redirect.github.com/actions/checkout/pull/1376">acti
ons/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapa
dopoulos</code></a> made their first contribution in <a href="https://re
direct.github.com/actions/checkout/pull/1287">actions/checkout#1287</a><
/li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a href="https://redirect.github.com/actions
/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compar
e/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a hre
f="https://redirect.github.com/actions/checkout/pull/1289">actions/check
out#1289</a> based on <a href="https://redirect.github.com/actions/check
out/issues/1286">sagemath#1286</a> by <a
href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/
checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/co
mpare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a h
ref="https://redirect.github.com/actions/checkout/pull/1246">actions/che
ckout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a href="https://redirect.github.com/ac
tions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/ma
in/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are checked-
in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a href="https://redirect.gith
ub.com/actions/checkout/issues/770">sagemath#770</a>)](<a href="https://redirect
.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add
input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="actions/checkout@3df4ab11eba7bda6
032a0b82a6bb43b11571feac"><code>3df4ab1</code></a> Release 4.0.0 (<a hre
f="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)<
/li>
<li><a href="actions/checkout@8b5e8b768746b503
94015010d25e690bfab9dfbc"><code>8b5e8b7</code></a> Support fetching
without the --progress option (<a href="https://redirect.github.com/acti
ons/checkout/issues/1067">sagemath#1067</a>)</li>
<li><a href="actions/checkout@97a652b80035363d
f47baee5031ec8670b8878ac"><code>97a652b</code></a> Update default
runtime to node20 (<a href="https://redirect.github.com/actions/checkout
sagemath/issues/1436">sagemath#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-
badges.githubapp.com/badges/compatibility_score?dependency-
name=actions/checkout&package-manager=github_actions&previous-
version=3&new-version=4)](https://docs.github.com/en/github/managing-
security-vulnerabilities/about-dependabot-security-updates#about-
compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
    
URL: sagemath#36243
Reported by: dependabot[bot]
Reviewer(s):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants