Group Abstract Group Abstract

Message Boards Message Boards

0
|
397 Views
|
23 Replies
|
6 Total Likes
View groups...
Share
Share this post:

Overflow calculating the last 10, 000 digits of (((96717311574016^16777216^4)^8^4)^7)^2

Posted 21 days ago

why is 96717311574016^8^16 the biggest number it can compute and any number larger than that overflows?
I was discussing the first 4000 digits of my expression (((96717311574016^16777216^4)^8^4)^7)^2 * 7^11. Because this expression is greater than 96717311574016^8^16 and it is going to overflow, can someone help me how to calculate the LAST ten thousand, or even MILLION digits of this expression. Do I calculate the mod of this expression?
Can I even calculate the mod if its just going to overflow?

POSTED BY: Mark Raygorodsky
23 Replies

syntax error: Log10 [96717311574016] * can't be followed by [16777216^7 * 8^2].

POSTED BY: Mark Raygorodsky

is there a way to find out what the first 50, 000 digits of GRAHAM'S NUMBER are?

POSTED BY: Mark Raygorodsky

Some relevant tools for Implementation of level-index arithmetic for very large numbers were proto-typed by Swastik Banerjee (formerly at Wolfram Research).

POSTED BY: Paul Abbott
Posted 4 days ago

Deleted. My post was a mistake. By routine habit I considered exponentiation. While Swastik's idea involves tetration.

POSTED BY: Hans Milton

I am going to set the mantissa of this code to a MILLION digits. It’s basically 5, followed by a decimal point, followed by a million digits after that. Every method I tried to compute the first million digits of my number results in an overflow error. I don’t get the same error when computing the last million digits. To me the first and last million digits is the same size of the number and they both shouldn’t overflow. That “100” you wrote in your code should be at least 50, 000. I copied and pasted your code into my notebook and set the number to 10, 000. And I get an error “precision depth exceeded.”

POSTED BY: Mark Raygorodsky

its like it has an end but NO BEGINNING! I don't remember how to use logarithms. Do they give me info about the first digits, lets say a million?

POSTED BY: Mark Raygorodsky

For the last digits I use the mod function, but still haven't figured out how to calculate the FIRST digits! a log of a number shows how long the number is. Does it also calculate the first digits?!

POSTED BY: Mark Raygorodsky

I haven't found a way to get the first digits of my number and it's so EXTREMELY HARD that I must as well forget about them and focus on the last digits. I typed my expression in and it gave me something mod^2 power, 1977326743 followed by a million zeros and these ARE NOT THE LAST MILLION DECIMAL DIGITS I AM EXPECTING!

POSTED BY: Mark Raygorodsky
Posted 13 days ago

23 minutes ago I posted showing how you could probably get some correct leading digits.

Changing the subject. If you type something in and it doesn't work then posting that you typed something in and it didn't work does not give anyone the information they need to be able to help you. That is because your screen is turned just a bit and everyone here can't quite read your screen to see what you did.

And Mathematica keeps a hidden cache of values you have previously assigned to variables. If you don't know this then you can often get things you don't expect because you didn't realize what you had already assigned to variables. You can try restarting Mathematica and that will usually clear the cache.

If that doesn't work then scraping off your screen and pasting that into a message asking for help will usually help. But you need to carefully look at that and make certain that the posting process didn't mangle and change what you pasted into your message.

POSTED BY: Bill Nelson

I calculate the last digits by using mod 10^50000 something. How do I calculate the FIRST 50, 000 digits of my expression (96717311574016^16777216^4)^8^4)^7)^2 * 7^11

POSTED BY: Mark Raygorodsky
Posted 13 days ago

I have not been able to think of a way to exactly calculate the leading digits of your huge number without overflow. But I did think of a risky and potentially error prone way that might approximate this. There is an algorithm to quickly calculate arbitrary powers using recursive squaring. Google can help you find that algorithm and an explanation of how it works. Then imagine at each step of this process we throw away any power of ten that has appeared. The mathematica function MantissaExponent can be used to do that. All this tries to keep the calculated value small enough that the calculation does not overflow and fail.

power[base_,exponent_]:=
  If[exponent==0,1,
    If[EvenQ[exponent],temp=power[base,exponent/2];MantissaExponent[temp*temp][[1]],
      temp=power[base,(exponent-1)/2];MantissaExponent[base*temp*temp][[1]]
    ]
  ];
MantissaExponent[power[N[96717311574016,100],16777216^4*8^4*7*2]*7^11][[1]]

which returns

0.519477805513753546135142414870187736952679394740473429808918564205

Ignore the leading "0.", it is the digits that follow this that you want to concentrate on. That claims that your huge number probably begins with the digits 519477...

The ",100" in that tells Mathematica you want to try to use 100 digit floating point precision in every step. If you change that to ",200" then it will try to use 200 digits. But before you change this to 200 or 10,000 or 1,000,000 or more, study this and the Google search result explaining the process and then try this on much much smaller, but gradually increasing in size, numbers. Do this with small enough numbers that you can use Mathematica to calculate the exact value and repeat the calculation with this approximate method and see how many of the digits from the two methods agree. I am certain that if you try this on enough examples and the size of the exact result is close to or beyond the number of floating point digits that you ask it to use that you will find examples where some of the the last digits in the result will be incorrect. I am hoping this will let you see some of the leading digits and that enough of those will be correct that you can use them. Be very very careful with this. If anyone finds any mistake in this then please point it out to me. Thank you

POSTED BY: Bill Nelson

my notebook is 193 KB, and I bought it directly from Mathematica. I dont remember saving it into this computer. I found on the introductory five minutes.nb then I clicked on it and it went into my notes. I made it because when I type in my expression in, it gives me "cell contents are too large for direct browser rendering. Try rendering your browser anyway or download this notebook for full functionality." I click on it in my notes but I can't open it, I just get duplicates of it. How can I type my expression in when I can't even open it?!?

POSTED BY: Mark Raygorodsky
Posted 14 days ago

It seems to me that you should try contacting Wolfram customer support and see if they can help you get this fixed.

POSTED BY: Bill Nelson

I know how to calculate the rightmost digits. The problem is I can't figure out how to calculate the leftmost (first) digits of my expression ((96717311574016^16777216^4)^8^4)^7)^2 * 7^11 and ANY number in GENERAL, I can't calculate the first ten thousand digits myself. Also clicking five minutes.nb in my notes doesn't actually open it.

POSTED BY: Mark Raygorodsky
Posted 15 days ago

Let us do things one tiny little step at a time.

You say "I know how to calculate the rightmost digits." Does that mean you can just imagine this is possible? Or does it mean that you have successfully entered my one line of Mathematica without the tiniest change of any kind and were able to successfully have Mathematica calculate the last ten thousand digits of your number.

If you are able to enter expressions and think Mathematica might be correctly calculating them then can you enter this EXACT expression, not the tiniest change of any kind, no notebook, no saving, no clicking on anything, just type EXACTLY this and try to evaluate it and see what you get:

Mod[PowerMod[96717311574016,16777216^4*8^4*7*2,10^10]*7^11,10^10]

and evaluate that and get a 10 digit answer back? Is that answer 9497422848? I think that should be the last 10 digits. If you can get the same thing I get then you and I are at least able to get you that far.

You say "Also clicking five minutes.nb in my notes doesn't actually open it." Where did this notebook come from? Did you make that? Do you remember and can you tell me EXACTLY what you put in that and how you saved that? I'm thinking it is really unlikely that you can remember the precise details of every step of doing that. Do you even think you know what is in it? EXACTLY what steps did you use to create that? Why did you make a notebook? Did you then "save" that notebook onto your computer? How? Are you even using "a computer"? Or is it a tablet or is it a phone? What brand of thing is this? If you forget "a notebook" for a minute, are you able to enter a SIMPLE mathematical expression using EXACTLY correct Mathematica syntax and capitalization and get it to give you a correct answer? Can you then enter more simple expressions and get it to give you correct answers? Do you know how to get your computer to tell you how many bytes or gigabytes in size a file is? Can you me tell how big your "five minutes.nb" file is? If it is small, less than a thousand bytes, then can you post here and attach that notebook to your post? At the bottom of the screen when you are posting there is "Attachments" followed by "Add a file to this post." I don't want you attaching something gigabytes or even kilobytes in size, but if your "five minutes.nb" is tiny and you can attach it then I will with great hesitation and caution try to download it without it potentially taking over and destroying my computer and I may risk trying to peek inside it to see if it is a simple ordinary notebook with a simple expression in it that will calculate the last ten thousand digits that you want.

IF you can do all this successfully and repeatedly then you and I have made great progress.

Then you change the problem again and want something COMPLETELY DIFFERENT, you want the leading digits and not the trailing digits. I'm not even sure I can imagine how to do that using only a small finite precision. Can you imagine a way of EXACTLY doing that? Maybe something that works from right to left and only keeps the latest 10 digits as you try to raise each succeeding digit to the 16777216^4*8^4*7*2 power?!?! But I find it very difficult to imagine doing that. Can you think of how to raise a single digit to that power and save the leftmost dozen digits and do that with each of the digits of 96717311574016 and then we somehow try to reassemble those leftmost dozen digit pieces? I'm VERY skeptical that this might even be possible? I can estimate your result is more than 6 times 10^34 power DIGITS and I can't even suggest you learn another programming language and buy yourself a huge hard drive to store the calculation in progress, that will never fit.

So, before trying to do that, let us see if we can get you dependably calculating much simpler things. Then we can make the tiniest little steps so you can possibly trust that you can do things on your own.

POSTED BY: Bill Nelson

the notebook five minutes.nb is in my notes but i cant open it; clicking it just duplicates it in my notes

POSTED BY: Mark Raygorodsky

I now have it on my computer but I am still clueless how to use the language.

POSTED BY: Mark Raygorodsky
Posted 18 days ago

Try working through Mathematica fast intro for math students

Then look at some of the other introductory material available on the web.

Or if you are very very old school then there are many good books printed on paper to help you.

For the specific errors that you saw when you tried to type in the example that I showed you, you cannot insert spaces in the middle of things, Mathematica is INTENSELY case sensitive so you cannot use lower case letters when I showed upper case letters, you cannot substitute ( for [ or ) for ] because those mean completely different things to Mathematica.

Perhaps, if you can, scrape my example off the screen and paste that into the Mathematica screen and see if that works.

POSTED BY: Bill Nelson

it gives me syntax error: ( can't be followed by mod (power mod(96717311574016, 16777216^4 * 8^4 * 7 * 2, 10^(10^6)) * 7^11, 10^(10^6))

POSTED BY: Mark Raygorodsky

thanks so much bill! so now my question is how to I calculate the last MILLION digits of my expression (((96717311574016^16777216^4)^8^4)^7)^2 * 7^11? I am basically asking to calculate mod 10^1, 000, 000 of 96717311574016^(16777216^4 * 8^4 * 7 * 2) * 7^11. but first I need to know how to use Mathematica on my computer.

POSTED BY: Mark Raygorodsky
Posted 20 days ago

Changing from 10 thousand digits to 1 million digits required changing 10^(10^4) to 10^(10^6) in two places. The output is then large enough that MMA doesn't immediately show you all of the result on the screen so adding //InputForm may overcome that. That may pop up a little window asking you if you really want an output that large. If so then you confirm you want that.

Try

Mod[PowerMod[96717311574016,16777216^4*8^4*7*2,10^(10^6)]*7^11,10^(10^6)]//InputForm

and see if that works for you.

POSTED BY: Bill Nelson
Posted 20 days ago

but first I need to know how to use Mathematica on my computer

You could download and install a free 15-day trial version: Mathematica trial

POSTED BY: Hans Milton
Posted 21 days ago

I think that

(((96717311574016^16777216^4)^8^4)^7)^2==96717311574016^(16777216^4*8^4*7*2)

You must check that and convince yourself whether that is correct or not. As you have seen, Mathematica cannot simply directly calculate both those values and compare them for equality.

If that is correct then

Mod[PowerMod[96717311574016,16777216^4*8^4*7*2,10^(10^4)]*7^11,10^(10^4)]

returns the last 10 thousand digits of the result in a few seconds.

Study all the details of the documentation for PowerMod carefully and then find at least three completely different ways that you can try to check whether I have made any mistake or if the result might be incorrect.

POSTED BY: Bill Nelson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard