# How to get the correct result in a simple operation in Mathematica

I have the following values for x[[i]], y[[i]] and A[[i,j]]:

x[[1]] = 4/5 x[[2]] = 31/39

y[[1]] = 2/5 y[[2]] = 145/357

A[[1,1]] = 62243/100000 A[[1,2]] = 3239/6250 A[[1,3]] = 17631/25000

I want to compute the value of an expression, specifically

A[[1, 3]] - A[[1, 1]]*x[[i]] - A[[1, 2]]*y[[i]]

So what I do is:

For[i = 1, i < 3, i++, error[[i]] = N[A[[1, 3]] - A[[1, 1]]*x[[i]] - A[[1, 2]]*y[[i]], 100]; ] error

So I get:

error[[1]] = 0 error[[2]] = -1.6871363930187...1687*10^-6.

But this is wrong since the correct result for the 1st loop is error[[1]] = -27/2500. The strange thing here is that if I compute (5*17361 - 62243 - 8*3239) / 125000 , which is practically the same operation, I get the correct result. What can I do to get the correct result? I used the N with precision of 100 digits, but obviously it is not working, FullForm neither.

The result from the loop is correct. You are using two different sets of numbers. Here is the loop computation without loops.

x = {4/5,31/39}
y = {2/5, 145/357}
A = {62243/100000, 3239/6250, 17631/25000}
A[[3]] - A[[1]]*x - A[[2]]*y  (* {0, -(261/154700000)} *)

• Still wrong. The first part of your answer must not be equal to 0.
– Alex
Nov 23, 2018 at 17:33
• Clearly it must; that's the point. You must have a typo somewhere. Note that 17361*4==69444, not 62243.
– Alan
Nov 23, 2018 at 17:52