vector maths

119 views
Skip to first unread message

David Eather

unread,
Nov 5, 2021, 9:45:58 PM11/5/21
to
Just thinking .... if I am wrong, will someone correct me.

A scalar is just a measure of magnitude - just a single number, like -1
or 6534 or anything similar. Yes?

A vector has magnitude and direction. ?

So....

The groups of three numbers provided by AOB are not scalars (they are
not single numbers specifying a magnitude) and they are not vectors
(they do not specify a direction)

At best they are a set of coordinates in xyz.

(keeping in the given format):

To be a scalar, each triple, needs another set of coordinates to allow
calculation of the magnitude (and we then throw out all the direction
information)

To be a vector, each triple, needs another set of coordinates to allow
calculation of the magnitude and direction?

Maybe this is the "secret" origin? But this makes no sense (in this
case) as AOB does not use ANY calculation of magnate or direction in any
of his descriptions of any of his methods?

So... "vector" and "scalar" are just buzz words for an unnecessary
over-complication of single points of data?

Colin

unread,
Nov 5, 2021, 10:22:03 PM11/5/21
to

>
> So... "vector" and "scalar" are just buzz words for an unnecessary
> over-complication of single points of data?

Don't forget to throw in the cryptography buzz word "factorise"

Ben Bacarisse

unread,
Nov 5, 2021, 10:38:35 PM11/5/21
to
David Eather <eatREM...@tpg.com.au> writes:

> Just thinking .... if I am wrong, will someone correct me.
>
> A scalar is just a measure of magnitude - just a single number, like
> -1 or 6534 or anything similar. Yes?
>
> A vector has magnitude and direction. ?
>
> So....
>
> The groups of three numbers provided by AOB are not scalars (they are
> not single numbers specifying a magnitude) and they are not vectors
> (they do not specify a direction)
>
> At best they are a set of coordinates in xyz.

A triple is just a triple. But it can be taken to be either a magnitude
and direction or coordinates. Rather than "at best" you should say it
can equally be either a vector in 3-space or coordinates in 3-space, or,
indeed, anything else that needs three scalars to represent.

--
Ben.

Chris M. Thomasson

unread,
Nov 6, 2021, 12:42:26 AM11/6/21
to
I think he is calculating them from the origin? So any n-ary point has
direction, and a magnitude.

Chris M. Thomasson

unread,
Nov 6, 2021, 12:52:32 AM11/6/21
to
Also, iirc, he does talk about a "change of origin". Perhaps that's in
his "secret key"?

Take the complex numbers, a 2d vector space. So the complex number 3+4i
has an absolute value of 5 from the origin. However, it has an absolute
value of sqrt(34) if the origin was say, -2+7i.

abs((3+4i) - (-2+7i)) = sqrt(34)

The result is a real number, not an integer.

Max

unread,
Nov 6, 2021, 2:45:45 AM11/6/21
to
On 06.11.21 02:45, David Eather wrote:
> Just thinking .... if I am wrong, will someone correct me.
>
> A scalar is just a measure of magnitude - just a single number, like -1
> or 6534 or anything similar. Yes?
>
> A vector has magnitude and direction. ?
>
> So....
>
> The groups of three numbers provided by AOB are not scalars (they are
> not single numbers specifying a magnitude) and they are not vectors
> (they do not specify a direction)
>
> At best they are a set of coordinates in xyz.
>
> (keeping in the given format):
>
> To be a scalar, each triple, needs another set of coordinates to allow
> calculation of the magnitude (and we then throw out all the direction
> information)
>
> To be a vector, each triple, needs another set of coordinates to allow
> calculation of the magnitude and direction?

Typically, and I think this is how AOB uses vectors, the "another set of
coordinates" is [0, 0, 0]. This gives the vector direction and
magnitude. So you could thing of the vector as [0 => x, 0 => y, 0 =>x
z). If you move the vector ("change of origin"), it becomes (x0 =>x x0 +
x, y0 => y0 + y, z0 =>x zo + z].

The fun part here is that you can make a bidirectional mapping
("bijection") of any 3-dimensional point/vector to a real number (e.g.
https://www.reddit.com/r/askscience/comments/6opvae/simplest_proof_that_r2_r/
and https://www.youtube.com/watch?v=XcMZsF4vDbo). So there is no
fundamental difference between a cipher that is based on vectors or
based on "scalar" real numbers. Austin still thinks, that there are
"more" numbers in R^3 then on the "scalar number line" R. It's a typical
misunderstanding of the concepts of infinity and cardinality.

On top of this, of course everything he does is simply based on integers
as he and computers can only deal with finite precision.

>
> Maybe this is the "secret" origin? But this makes no sense (in this
> case) as AOB does not use ANY calculation of magnate or direction in any
> of his descriptions of any of his methods?
>
> So... "vector" and "scalar" are just buzz words for an unnecessary
> over-complication of single points of data?

Yes.

austin obyrne

unread,
Nov 6, 2021, 4:30:58 AM11/6/21
to
Yes -They most certainly do - they are also called direction ratios
because they provide that function - they specify a unique direction
in space.with rrrespect to the XYZ frame .
i.e. - they speciofy how much of the vector is subscribed
by the X axis. the Y axis and the Z axis.

( that means when the line is projected onto each axis in turn the ratio is (i, j . k)

Good to hear - AOB

Chris M. Thomasson

unread,
Nov 6, 2021, 4:36:37 AM11/6/21
to
Can't he represent any real number as integers using convergents of
continued fractions up to a desired precision? For instance, 5.9987 can
be written as [5; 1, 768, 4, 3].

austin obyrne

unread,
Nov 6, 2021, 4:38:41 AM11/6/21
to
OK -its a fun thing since it never existed before now
- I have invented new mathematics that is called
either factoring or factorising.

It is here to stay no matter what any body thinks.
Best wishes
AOB

David Eather

unread,
Nov 6, 2021, 5:11:01 AM11/6/21
to
yes. I have never seen AOB's code examples use square roots or reals -
so they aren't vectors

David Eather

unread,
Nov 6, 2021, 5:12:41 AM11/6/21
to
Do you think AOB knows this? Or can he unwind enough to accept / learn it ?

wizzofozz

unread,
Nov 6, 2021, 5:47:25 AM11/6/21
to
Op 6-11-2021 om 02:45 schreef David Eather:
> Just thinking .... if I am wrong, will someone correct me.
>
> A scalar is just a measure of magnitude - just a single number, like -1
> or 6534 or anything similar. Yes?
>
> A vector has magnitude and direction. ?
>
> So....
>
> The groups of three numbers provided by AOB are not scalars (they are
> not single numbers specifying a magnitude) and they are not vectors
> (they do not specify a direction)

That all depends on your interpretation IMHO of the numbers. If you
define them to contain a certain meaning, then from that point on they
do. Whether the "meaning" then follows laws of physics, or just gives
you pretty images (like Chris' fractals) or resembles the world or not,
is a different story.

>
> At best they are a set of coordinates in xyz.
>
> (keeping in the given format):
>
> To be a scalar, each triple, needs another set of coordinates to allow
> calculation of the magnitude (and we then throw out all the direction
> information)
>
> To be a vector, each triple, needs another set of coordinates to allow
> calculation of the magnitude and direction?

I have many books where the origin of a vector is not explicitly stated
every time a vector is used. Austin uses (0,0,0) so the triples can be
interpreted as vectors if we want to.


> Maybe this is the "secret" origin? But this makes no sense (in this
> case) as AOB does not use ANY calculation of magnate or direction in any
> of his descriptions of any of his methods?
>

Read the PDF's on his website (the worked example is the easiest IMHO).
The vector math is not bad, it's just not very suitable for crypto (at
least, in the way he uses it).
You could critique is invention of vector factoring; The cross product
of 2 vectors is a vector normal (perpendicular) to both, and it has a
magnitude which is the size of the surface of the parallelogram spawned
by the 2 vectors.

His invention factors a cross product into two vectors (an 'inverse'
cross product), but that is not well defined (at least, so they say)
because there are many vector pairs which will give the same
crossproduct (tweak the angle between the vectors and their length so
that the surface size stays the same, it gives the same product. Or
rotate around the normal vector, keeping the angle constant).

Also, in his worked example there is an unexplained 'y' variable, which
I asked about a couple of days ago, but had no answer yet. But maybe
someone else knows.

So there is no unique factorization as you have with, for example,
numbers and their prime factors.

But even if there was, it's a useless addition to his cipher, because he
could just start with a random vector in stead of going through the
trouble of factoring a random vector.


Here is my take on the worked example in python (he uses 'random'
vectors for every plaintext byte in his current implementation, so he says):

python vc.py '[8,6,15]' '[720,-367,1100]' P
P -> [960, -682, 1098] -> P

python vc.py '[8,6,15]' '[720,-367,1100]' 'kill at dawn'
k -> [1041, -790, 1098] -> k
i -> [1035, -782, 1098] -> i
l -> [1044, -794, 1098] -> l
l -> [1044, -794, 1098] -> l
-> [816, -490, 1098] ->
a -> [1011, -750, 1098] -> a
t -> [1068, -826, 1098] -> t
-> [816, -490, 1098] ->
d -> [1020, -762, 1098] -> d
a -> [1011, -750, 1098] -> a
w -> [1077, -838, 1098] -> w
n -> [1050, -802, 1098] -> n


The code (note that during the factor step, I just bruteforce 'y' if the
check on the factorization stepfails ):

#!/usr/bin/python

import sys

def gcd(x,y):
r=x%y
if r == 0:
return y
else:
return gcd(y,r)

def cross(a,b):
return
[a[1]*b[2]-a[2]*b[1],-(a[0]*b[2]-a[2]*b[0]),a[0]*b[1]-a[1]*b[0]]


def NtoV(N,y=1):
ex = gcd(N[1],N[2])
return ([0,N[2]/ex,-N[1]/ex],[ex,y,-(N[0]*ex+N[1]*y)/N[2]])

def crypt(P,N,coo):
(V0,V1)=NtoV(N)

y=1
while N != cross(V1,V0):
y += 1
# print "what now? N V1 V0 V1xV0 y",N,V1,V0,cross(V1,V0),y
(V0,V1)=NtoV(N,y)

Va=[v1-v0 for (v0,v1)in zip(V0,V1)]
# print "Va:",Va

Pn = [v0+v1 for (v0,v1) in zip(V0,[x*ord(P) for x in Va])]
# print "Pn:",Pn
C=[pn+co for (pn,co) in zip(Pn,coo)]

return C

def decrypt(C,N,coo):
(V0,V1)=NtoV(N)
Pn=[c-co for (c,co) in zip(C,coo)]
return chr(cross(Pn,V0)[0]/N[0])


for p in sys.argv[3]:
ct = crypt(p,eval(sys.argv[1]),eval(sys.argv[2]))
pt = decrypt(ct,eval(sys.argv[1]),eval(sys.argv[2]))
print p,"->",ct,"->",pt


cheers
Ozz














Max

unread,
Nov 6, 2021, 6:43:14 AM11/6/21
to
On 06.11.21 05:52, Chris M. Thomasson wrote:
> On 11/5/2021 9:42 PM, Chris M. Thomasson wrote:
>> On 11/5/2021 6:45 PM, David Eather wrote:

*snip*

>
> The result is a real number, not an integer.

No. In theory it is a real number, but in reality, the set of possible
results is very countable and very finite. One may argue that it is "a
rational number with a fixed denominator and an integer numerator in a
limited interval". But imho that doesn't make much of a difference.

Max

unread,
Nov 6, 2021, 6:46:53 AM11/6/21
to
On 06.11.21 10:12, David Eather wrote:
> On 6/11/2021 4:45 pm, Max wrote:

[...]

>>
>
> Do you think AOB knows this? Or can he unwind enough to accept / learn it ?

I've mentioned it before. He hasn't reacted to it. I am not writing this
for him, just trying to answer your question best I can.

MM

unread,
Nov 6, 2021, 6:47:29 AM11/6/21
to
On Saturday, 6 November 2021 at 09:47:25 UTC, wizzofozz wrote:
> Also, in his worked example there is an unexplained 'y' variable, which
> I asked about a couple of days ago, but had no answer yet. But maybe
> someone else knows.

My memory is a little hazy, but IIRC that y can take any value, including
complex if you are just considering the pure algebra. This would make
crypto very tricky, as rounding error on a practical computer will mess up
any comparisons.

It actually becomes more interesting in the integer-only case, as "factors"
need to to be integer-only triples. AOB uses a brute-force incrementing
search to find the final integer y (or relation involving y) that satisfies
the cross-product matching the given normal. This search could go on
for quite some time in corner cases, and may explain some hangs.

I checked with a maths-savvy friend, and he was able to show that
a modified Euclid algorithm could arrive at an answer MUCH quicker
than AOB's brute-force search. (This optimisation is no doubt known
to Eve). A corner-case bail-out may be needed if y looks like its getting
too big.

> y=1
> while N != cross(V1,V0):
> y += 1

This is exactly what AOB does.

M
--

Piergiorgio Sartor

unread,
Nov 6, 2021, 6:53:33 AM11/6/21
to
On 06/11/2021 11.43, Max wrote:
[...]
>> The result is a real number, not an integer.
>
> No. In theory it is a real number, but in reality, the set of possible
> results is very countable and very finite. One may argue that it is "a
> rational number with a fixed denominator and an integer numerator in a
> limited interval". But imho that doesn't make much of a difference.

Exactly.

The number representation is in any
case "finite".
So, these are *always* integer.

Maybe with many bits, but still they
can be represented by an integer.

bye,

--

piergiorgio

wizzofozz

unread,
Nov 6, 2021, 7:06:31 AM11/6/21
to
Op 6-11-2021 om 11:47 schreef MM:
Interesting, thanks for answering.

Actually, I still need to verify his work with a pen and paper (but I
suppose he's done it correctly to at least get some solution). Maybe
that gives me the insight to come up with a similar solution as your
friend.

Ozz

Piergiorgio Sartor

unread,
Nov 6, 2021, 7:13:38 AM11/6/21
to
On 06/11/2021 02.45, David Eather wrote:
[...]
> To be a vector, each triple, needs another set of coordinates to allow
> calculation of the magnitude and direction?

Which is (0, 0, ...0) unless otherwise noted.

bye,

--

piergiorgio

Ben Bacarisse

unread,
Nov 6, 2021, 7:25:22 AM11/6/21
to
The origin makes no difference. Three point define magnitude and
direction in 3-space. Many you meant that a vector is defined relative
to a vector basis (usually just three orthogonal axes)?

--
Ben.

Rich

unread,
Nov 6, 2021, 10:55:37 AM11/6/21
to
Chris M. Thomasson <chris.m.t...@gmail.com> wrote:
> Can't he represent any real number as integers using convergents of
> continued fractions up to a desired precision? For instance, 5.9987
> can be written as [5; 1, 768, 4, 3].

Well, he could. But he can't be bothered to learn how to read/write
binary file data in Ada. Do you actually think he will be bothered to
create enough support code to use "convergents of continued fractions"?

Max

unread,
Nov 6, 2021, 1:50:24 PM11/6/21
to
On 06.11.21 09:36, Chris M. Thomasson wrote:
>
> Can't he represent any real number as integers using convergents of
> continued fractions up to a desired precision? For instance, 5.9987 can
> be written as [5; 1, 768, 4, 3].

"Fractions" makes the numbers rational, not real, to begin with. The
"desired precision" limits the possible values to a finite and countable
number. E.g. with 5 digit precision and 3 dimenstions, there are only
10^15 possible vectors. I get the same effect, if I use the number line
with integer values from 1 to 10^15, aka 2^50 bits.

Chris M. Thomasson

unread,
Nov 6, 2021, 3:36:53 PM11/6/21
to
Humm... True. Using convergents, any real number can be represented as a
rational up to a precision that's "good enough". Thinking along the
lines of 355/113 handling 7 digits of pi.


Chris M. Thomasson

unread,
Nov 6, 2021, 3:42:23 PM11/6/21
to
Basically, yes. If the origin was, say, -1+3i, then the 3, 4, 5 triangle
from that point would be: 2+7i.

Where, abs((2+7i) - (-1+3i)) = 5. It has a direction and a magnitude.

Chris M. Thomasson

unread,
Nov 6, 2021, 3:55:39 PM11/6/21
to
On 11/6/2021 2:47 AM, wizzofozz wrote:
> Op 6-11-2021 om 02:45 schreef David Eather:
>> Just thinking .... if I am wrong, will someone correct me.
>>
>> A scalar is just a measure of magnitude - just a single number, like
>> -1 or 6534 or anything similar. Yes?
>>
>> A vector has magnitude and direction. ?
>>
>> So....
>>
>> The groups of three numbers provided by AOB are not scalars (they are
>> not single numbers specifying a magnitude) and they are not vectors
>> (they do not specify a direction)
>
> That all depends on your interpretation IMHO of the numbers. If you
> define them to contain a certain meaning, then from that point on they
> do. Whether the "meaning" then follows laws of physics, or just gives
> you pretty images (like Chris' fractals) or resembles the world or not,
> is a different story.
[...]

Thank you for the kind comment about my fractals Wizz. Actually, one can
store data in complex numbers. Its fun, well, to me at least. Here is an
example "reference implementation", ;^)

https://groups.google.com/g/sci.crypt/c/IBj9zUOVMu4/m/wuU2R5O7BwAJ

Also, here is one of my new experimental "3d" biomorph fractals using a
special distance estimator:

https://fractalforums.org/gallery/1612-061121081809.png

Ben Bacarisse

unread,
Nov 6, 2021, 4:18:46 PM11/6/21
to
"Chris M. Thomasson" <chris.m.t...@gmail.com> writes:

> On 11/6/2021 4:25 AM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> On 11/5/2021 6:45 PM, David Eather wrote:
>>>> Just thinking .... if I am wrong, will someone correct me.
>>>> A scalar is just a measure of magnitude - just a single number, like -1
>>>> or 6534 or anything similar. Yes?
>>>> A vector has magnitude and direction. ?
>>>> So....
>>>> The groups of three numbers provided by AOB are not scalars (they are
>>>> not single numbers specifying a magnitude) and they are not vectors (they do not specify a direction)
>>>> At best they are a set of coordinates in xyz.
>>>> (keeping in the given format):
>>>> To be a scalar, each triple, needs another set of coordinates to allow
>>>> calculation of the magnitude (and we then throw out all the direction information)
>>>> To be a vector, each triple, needs another set of coordinates to allow
>>>> calculation of the magnitude and direction?
>>>> Maybe this is the "secret" origin? But this makes no sense (in this
>>>> case) as AOB does not use ANY calculation of magnate or direction in any of his descriptions of any of his methods?
>>>> So... "vector" and "scalar" are just buzz words for an unnecessary
>>>> over-complication of single points of data?
>>>
>>> I think he is calculating them from the origin? So any n-ary point has
>>> direction, and a magnitude.
>>
>> The origin makes no difference. Three [points] define magnitude and
>> direction in 3-space. [Maybe] you meant that a vector is defined relative
>> to a vector basis (usually just three orthogonal axes)?
>
> Basically, yes. If the origin was, say, -1+3i, then the 3, 4, 5
> triangle from that point would be: 2+7i.

What? The origin in 3-space is (0,0,0). Complex numbers are 2D. I see
nothing that justifies the definite article in "the 3, 4, 5 triangle".
And I don't know what a triangle from a point being another point means.
Basically, I can't follow any of that.

But we should ask if it matters. Is there anything that you want me to
understand, or which you think I should understand, about your point of
view? If not, I am happy to just say we are not communicating well
today.

--
Ben.

Chris M. Thomasson

unread,
Nov 6, 2021, 4:23:36 PM11/6/21
to
The 3, 4, 5 triangle on the x and y axes in 3d space is:

(3, 4, 0)

This is from the origin at (0, 0, 0). The origin in 2d is (0, 0).

Chris M. Thomasson

unread,
Nov 6, 2021, 4:26:40 PM11/6/21
to
On the z, y axes it would be (0, 4, 3). Or, it can be (0, -4, 3), ect...

Ben Bacarisse

unread,
Nov 6, 2021, 6:04:40 PM11/6/21
to
That's either a point or a vector, but it's not a triangle.

> This is from the origin at (0, 0, 0).

That's two points. A triangle needs another point (or another vector).
On the x/y plane there are two points you could choose so talking about
"the" 3, 4, 5 triangle is not really right.

In 3-space (which was the original context) there are infinitely many 3,
4, 5 triangles using (0, 0, 0) and (3, 4, 0). For example (0, 0, 0), (3,
4, 0) and (0, 2, -2 sqrt(3)).

> The origin in 2d is (0, 0).

Yes, I know!

--
Ben.

Chris M. Thomasson

unread,
Nov 6, 2021, 6:33:49 PM11/6/21
to
On 11/6/2021 3:04 PM, Ben Bacarisse wrote:
> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>
>> On 11/6/2021 1:18 PM, Ben Bacarisse wrote:
>
>>> But we should ask if it matters. Is there anything that you want me to
>>> understand, or which you think I should understand, about your point of
>>> view? If not, I am happy to just say we are not communicating well
>>> today.
>>
>> The 3, 4, 5 triangle on the x and y axes in 3d space is:
>>
>> (3, 4, 0)
>
> That's either a point or a vector, but it's not a triangle.
>
>> This is from the origin at (0, 0, 0).
>
> That's two points. A triangle needs another point (or another vector).
> On the x/y plane there are two points you could choose so talking about
> "the" 3, 4, 5 triangle is not really right.

I was just focusing on the hypotenuse from origin. Once that is 5, we
basically have the 3, 4, 5 triangle. In 2d:

p2 = 3+4i

A single point. From the origin, its 5 units away. We can just drop down
the imaginary axis by 4 units, and end up at 3+0i. That's a third point.
This is all based off the origin. So the three points are:

p0 = 0+0i
p1 = 3+0i
p2 = 3+4i


> In 3-space (which was the original context) there are infinitely many 3,
> 4, 5 triangles using (0, 0, 0) and (3, 4, 0). For example (0, 0, 0), (3,
> 4, 0) and (0, 2, -2 sqrt(3)).

Indeed. I was just thinking about once the hypotenuse is 5, we have a 3,
4, 5 triangle. In 2d, 3d, ect... if the distance between two points is
5, we can construct a 3, 4, 5 triangle. Using the origin, we always have
that second point. Unless origin is defined to be something else, say
(-4, 5, -1). Any point that is five units away from that can be used to
construct a 3, 4, 5 triangle.

Ben Bacarisse

unread,
Nov 6, 2021, 8:37:56 PM11/6/21
to
"Chris M. Thomasson" <chris.m.t...@gmail.com> writes:

> On 11/6/2021 3:04 PM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> On 11/6/2021 1:18 PM, Ben Bacarisse wrote:
>>
>>>> But we should ask if it matters. Is there anything that you want me to
>>>> understand, or which you think I should understand, about your point of
>>>> view? If not, I am happy to just say we are not communicating well
>>>> today.
>>>
>>> The 3, 4, 5 triangle on the x and y axes in 3d space is:
>>>
>>> (3, 4, 0)
>> That's either a point or a vector, but it's not a triangle.
>>
>>> This is from the origin at (0, 0, 0).
>> That's two points. A triangle needs another point (or another vector).
>> On the x/y plane there are two points you could choose so talking about
>> "the" 3, 4, 5 triangle is not really right.
>
> I was just focusing on the hypotenuse from origin. Once that is 5, we
> basically have the 3, 4, 5 triangle.

No, you two points, not a triangle. If you know you are defining a right
triangle you then have (in 2D) two candidates. But without knowing
more, you can't assert that you a 3, 4, 5 triangle from two points.

--
Ben.

Chris M. Thomasson

unread,
Nov 6, 2021, 11:25:42 PM11/6/21
to
Humm... There should be a way, damn. Once we have two points that are 5
units away from each other, we say that is the hypotenuse. There has to
be a way to construct a triangle from that alone. Humm... Damn.

Sorry for any nonsense here Ben. I just, think... There might be a way.

Rich

unread,
Nov 7, 2021, 12:05:33 AM11/7/21
to
Chris M. Thomasson <chris.m.t...@gmail.com> wrote:
> Humm... There should be a way, damn. Once we have two points that
> are 5 units away from each other, we say that is the hypotenuse.
> There has to be a way to construct a triangle from that alone.
> Humm... Damn.

There is a way to construct an infinite number of triangles from two
points. Hint: pick one of the infinity of other points that define a
specific triangle.

But there is no way to uniquely identify any single triangle from two
points alone (absent other predefined assumptions data).

Chris M. Thomasson

unread,
Nov 7, 2021, 12:13:03 AM11/7/21
to
That's along my line of thinking, specifically, a 3, 4, 5 triangle. I
should just bust out my 3d plotter and give it a go.

Chris M. Thomasson

unread,
Nov 7, 2021, 1:22:16 AM11/7/21
to
Infinite convergents should mean that pi can be represented by a
rational, in a sense... Right?

Rich

unread,
Nov 7, 2021, 8:47:08 AM11/7/21
to
But.... Look at the implicit assumptions you have to be making.

In 3D cartesian space, a single point requires three coordinates. You
have, at most, three coordinates in the triple 3,4,5. That defines
only a single point in 3D cartesian space. So, somewhere, you are
making many implicit assumptions as to what "3", "4", and "5" really
mean, but you are not telling us what those implicit assumptions are.

We see 3,4,5 and all we see is a single point in 3D cartesian space.

Rich

unread,
Nov 7, 2021, 8:48:01 AM11/7/21
to
Chris M. Thomasson <chris.m.t...@gmail.com> wrote:
That pesky word "infinite" means it can never be exactly represented in
any real world, finite, environment.

Richard Heathfield

unread,
Nov 7, 2021, 8:58:14 AM11/7/21
to
On 07/11/2021 13:47, Rich wrote:

> That pesky word "infinite" means it can never be exactly represented in
> any real world, finite, environment.

Except we can define a representation by fiat. As Marie Antoinette never
said: let them eat π.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

Rich

unread,
Nov 7, 2021, 9:42:43 AM11/7/21
to
Richard Heathfield <r...@cpax.org.uk> wrote:
> On 07/11/2021 13:47, Rich wrote:
>
>> That pesky word "infinite" means it can never be exactly represented in
>> any real world, finite, environment.
>
> Except we can define a representation by fiat. As Marie Antoinette never
> said: let them eat ?.

You mean like the time the US state of Indiana legislature thought it a
good idea to try to redefine pi?:

https://en.wikipedia.org/wiki/Indiana_Pi_Bill

Richard Heathfield

unread,
Nov 7, 2021, 10:01:07 AM11/7/21
to
On 07/11/2021 14:42, Rich wrote:
> Richard Heathfield <r...@cpax.org.uk> wrote:
>> On 07/11/2021 13:47, Rich wrote:
>>
>>> That pesky word "infinite" means it can never be exactly represented in
>>> any real world, finite, environment.
>>
>> Except we can define a representation by fiat. As Marie Antoinette never
>> said: let them eat ?.
>
> You mean like the time the US state of Indiana legislature thought it a
> good idea to try to redefine pi?:

Well, I hope we can do better than that - eg by defining it as the ratio
between a circle's circumference and its diameter. The symbol thus
defined then becomes an exact representation (in a real world, finite
environment).

Ben Bacarisse

unread,
Nov 7, 2021, 10:09:36 AM11/7/21
to
The problem is similar in 2D. Take the origin, O, and the point at
P=(3,4). Every point not on the line OP defines a triangle.

If we try to pin it down by saying it has to be right-angled or 3, 4, 5,
how many such triangles are there? (I got it wrong in one post.)

--
Ben.

Chris M. Thomasson

unread,
Nov 7, 2021, 3:31:11 PM11/7/21
to
I think it can be infinite and will try to mock up a diagram. Using some
recursion, it should not be that difficult. Unfortunately, I don't have
the time right now, but can almost see how to do it in my mind. From the
points O and P, one can generate infinite 3, 4, 5 triangles. Humm... For
some reason, I am thinking of a triangle strip. Humm...

Chris M. Thomasson

unread,
Nov 7, 2021, 4:22:09 PM11/7/21
to
On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
Infinite. Here is just a crude first very quick try. It shows how
infinite 3, 4, 5 triangles can be created using 3+4i and the origin. I
just quickly typed this code out, in about 2-3 minutes. So, I can do a
heck of a lot better. Afaict, O and P with a distance of 5 between them
can tile the 2d plane with 3, 4, 5 triangles.

https://i.ibb.co/gMV55Q1/ct-p0.png

_______________________
namespace ct_ben_tri
{
void tri_0(
ct::plot::cairo::plot_2d& plot,
unsigned long ri,
unsigned long rn,
glm::vec2 p0,
glm::vec2 p2
) {
if (ri >= rn) return;

glm::vec2 p1 = p2 - glm::vec2(0, 4);

glm::vec2 p0_next = p1;
glm::vec2 p2_next = p1 + glm::vec2(3, 4);

plot.circle_filled(p0, .2, CT_RGBF(1, 1, 0));
plot.circle_filled(p1, .2, CT_RGBF(1, 0, 1));
plot.circle_filled(p2, .2, CT_RGBF(0, 1, 1));

plot.line(p0, p1, CT_RGBF(1, 0, 0), 10.f);
plot.line(p1, p2, CT_RGBF(0, 1, 0), 10.f);
plot.line(p2, p0, CT_RGBF(0, 0, 1), 10.f);

tri_0(plot, ri + 1, rn, p0_next, p2_next);
}

void manifest(ct::plot::cairo::plot_2d& plot)
{
std::cout << "ct_ben_tri::manifest()\n";

glm::vec2 p0 = { -9, 0 };
glm::vec2 p1 = p0 + glm::vec2(3, 4);

tri_0(plot, 0, 6, p0, p1);
}
}
_______________________

Chris M. Thomasson

unread,
Nov 7, 2021, 4:29:33 PM11/7/21
to
On 11/7/2021 1:22 PM, Chris M. Thomasson wrote:
> On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> Humm... There should be a way, damn. Once we have two points that are
>>> 5 units away from each other, we say that is the hypotenuse. There has
>>> to be a way to construct a triangle from that alone. Humm... Damn.
>>>
>>> Sorry for any nonsense here Ben. I just, think... There might be a
>>> way.
>>
>> The problem is similar in 2D.  Take the origin, O, and the point at
>> P=(3,4).  Every point not on the line OP defines a triangle.
>>
>> If we try to pin it down by saying it has to be right-angled or 3, 4, 5,
>> how many such triangles are there?  (I got it wrong in one post.)
>>
>
> Infinite. Here is just a crude first very quick try. It shows how
> infinite 3, 4, 5 triangles can be created using 3+4i and the origin. I
> just quickly typed this code out, in about 2-3 minutes. So, I can do a
> heck of a lot better. Afaict, O and P with a distance of 5 between them
> can tile the 2d plane with 3, 4, 5 triangles.
>
> https://i.ibb.co/gMV55Q1/ct-p0.png
>
> _______________________
> namespace ct_ben_tri
> {
[...]
>     void manifest(ct::plot::cairo::plot_2d& plot)
>     {
>         std::cout << "ct_ben_tri::manifest()\n";
>
>         glm::vec2 p0 = { -9, 0 };
>         glm::vec2 p1 = p0 + glm::vec2(3, 4);
>
>         tri_0(plot, 0, 6, p0, p1);
>     }
> }
> _______________________


Actually, I think a single point can generate infinite 3, 4, 5
triangles. Call this single point p_0, and the next point p_1 where:

p_1 = p_0 + (3, 4);

?

Chris M. Thomasson

unread,
Nov 7, 2021, 4:36:58 PM11/7/21
to
On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
Hey now, I see a fun pattern... Tiling using a triangle based on 3, 4, 5
triangles generated from a single point. I just need to automate the code:

https://i.ibb.co/4Jwyj3Y/ct-p1.png

____________________
void manifest(ct::plot::cairo::plot_2d& plot)
{
std::cout << "ct_ben_tri::manifest()\n";

{
glm::vec2 p0 = { -9, 0 };
glm::vec2 p1 = p0 + glm::vec2(3, 4);

tri_0(plot, 0, 6, p0, p1);
}

{
glm::vec2 p0 = { -6, 4 };
glm::vec2 p1 = p0 + glm::vec2(3, 4);

tri_0(plot, 0, 5, p0, p1);
}

{
glm::vec2 p0 = { -3, 8 };
glm::vec2 p1 = p0 + glm::vec2(3, 4);

tri_0(plot, 0, 4, p0, p1);
}
}
____________________


;^)

Chris M. Thomasson

unread,
Nov 7, 2021, 4:46:54 PM11/7/21
to
On 11/7/2021 1:36 PM, Chris M. Thomasson wrote:
> On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> Humm... There should be a way, damn. Once we have two points that are
>>> 5 units away from each other, we say that is the hypotenuse. There has
>>> to be a way to construct a triangle from that alone. Humm... Damn.
>>>
>>> Sorry for any nonsense here Ben. I just, think... There might be a
>>> way.
>>
>> The problem is similar in 2D.  Take the origin, O, and the point at
>> P=(3,4).  Every point not on the line OP defines a triangle.
>>
>> If we try to pin it down by saying it has to be right-angled or 3, 4, 5,
>> how many such triangles are there?  (I got it wrong in one post.)
>>
>
> Hey now, I see a fun pattern... Tiling using a triangle based on 3, 4, 5
> triangles generated from a single point. I just need to automate the code:
>
> https://i.ibb.co/4Jwyj3Y/ct-p1.png
[...]

Got it! This is fun to me. Thanks for the conversation everybody!

https://i.ibb.co/zZSnWGJ/ct-p2.png

________________________________
void manifest(ct::plot::cairo::plot_2d& plot)
{
std::cout << "ct_ben_tri::manifest()\n";

{
unsigned long n = 10;

glm::vec2 origin = { -9, 0 };
glm::vec2 addend = { 3, 4 };

glm::vec2 p0 = origin;

for (unsigned long i = 0; i < n; ++i)
{
unsigned long rn = n - i - 1;

glm::vec2 p1 = p0 + addend;

tri_0(plot, 0, rn, p0, p1);

p0 = p1;
}
}
}
________________________________

:^D

Ben Bacarisse

unread,
Nov 7, 2021, 6:39:42 PM11/7/21
to
"Chris M. Thomasson" <chris.m.t...@gmail.com> writes:

> On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> Humm... There should be a way, damn. Once we have two points that are
>>> 5 units away from each other, we say that is the hypotenuse. There has
>>> to be a way to construct a triangle from that alone. Humm... Damn.
>>>
>>> Sorry for any nonsense here Ben. I just, think... There might be a
>>> way.
>> The problem is similar in 2D. Take the origin, O, and the point at
>> P=(3,4). Every point not on the line OP defines a triangle.
>> If we try to pin it down by saying it has to be right-angled or 3, 4, 5,
>> how many such triangles are there? (I got it wrong in one post.)
>>
>
> Infinite. Here is just a crude first very quick try. It shows how
> infinite 3, 4, 5 triangles can be created using 3+4i and the origin. I
> just quickly typed this code out, in about 2-3 minutes. So, I can do a
> heck of a lot better. Afaict, O and P with a distance of 5 between
> them can tile the 2d plane with 3, 4, 5 triangles.
>
> https://i.ibb.co/gMV55Q1/ct-p0.png

Eh? Only one of those uses the two points I was talking about.

--
Ben.

Chris M. Thomasson

unread,
Nov 7, 2021, 6:59:22 PM11/7/21
to
From those two points alone, I constructed all of the others. Does that
count as infinite triangles from two points, or is it cheating?

Ben Bacarisse

unread,
Nov 7, 2021, 7:16:19 PM11/7/21
to
Who knows? I don't know your rules. Why are they spaced like that?
Why are they in a row? If the rule is that they must have one side of
length 5 parallel to OP, then you've picked just one arbitrary subset of
triangles. If the rule is something else, then maybe those are the only
ones. I don't really mind one way or the other, but you have not stated
what you are thinking of in a way I can verify any results.

But I keep coming round to whether this matters? Do you want to know
what I was talking about? Do you want me to know what you mean by
"constructed from two points alone"? Is so, maybe we should ask more
questions, but not understanding each other is not necessarily a
problem.

--
Ben.

Chris M. Thomasson

unread,
Nov 7, 2021, 7:33:18 PM11/7/21
to
Take a look at my code, and tell me if its kosher in any way, shape or
form. Granted it uses my 2d plotter code that is not shown, however, it
can create infinite triangles. Btw, the little circle in white is the
unit circle, (0, 0), at radius 1:

https://i.ibb.co/zZSnWGJ/ct-p2.png

_____________________
namespace ct_ben_tri
{
void tri_0(
ct::plot::cairo::plot_2d& plot,
unsigned long ri,
unsigned long rn,
glm::vec2 p0,
glm::vec2 p2
) {
if (ri >= rn) return;

glm::vec2 p1 = p2 - glm::vec2(0, 4);

glm::vec2 p0_next = p1;
glm::vec2 p2_next = p1 + glm::vec2(3, 4);

plot.circle_filled(p0, .2, CT_RGBF(1, 1, 0));
plot.circle_filled(p1, .2, CT_RGBF(1, 0, 1));
plot.circle_filled(p2, .2, CT_RGBF(0, 1, 1));

plot.line(p0, p1, CT_RGBF(1, 0, 0), 5.f);
plot.line(p1, p2, CT_RGBF(0, 1, 0), 5.f);
plot.line(p2, p0, CT_RGBF(0, 0, 1), 5.f);

tri_0(plot, ri + 1, rn, p0_next, p2_next);
}

void manifest(ct::plot::cairo::plot_2d& plot)
{
std::cout << "ct_ben_tri::manifest()\n";

{
unsigned long n = 10;

glm::vec2 origin = { -9, 0 };
glm::vec2 addend = { 3, 4 };

glm::vec2 p0 = origin;

for (unsigned long i = 0; i < n; ++i)
{
unsigned long rn = n - i - 1;

glm::vec2 p1 = p0 + addend;

tri_0(plot, 0, rn, p0, p1);

p0 = p1;
}
}
}
}
_______________________________________


Is that cheating? My only point is that an infinite number of triangles
can be created from two points alone. Heck, even a single point, p0.
Give me any 2d point, call it p0... I can create a second point p1, where:

p1 = p0 + (3, 4)

Bam! We have the hypotenuse of a 3, 4, 5 triangle. and, we can actually
tile the plane with them. I only tiled a triangle, but the plane can be
tiled as well. all from a single point...

;^)

Sound okay, or, crazy?

Ben Bacarisse

unread,
Nov 7, 2021, 7:57:27 PM11/7/21
to
Why do think it matters? We appear to be talking about different
things. Drawing lots of similar triangles with parallel edges is not
what I was talking about. If you want to know what I was talking about
you should probably go back a few posts and some questions about what I
wrote. But, seriously, I don't know why you should care about what I was
saying. It was not in the least bit interesting.

On the flip side, sorry to say, I can't see why you think your program
or its output might be interesting to me.

--
Ben.

Chris M. Thomasson

unread,
Nov 7, 2021, 8:00:32 PM11/7/21
to
Fair enough. I simple have to be totally missing your main points,
YIKES. I just went off and coded a way to create infinite 3, 4, 5
triangles from a single point. Sorry Ben! Ouch!

Chris M. Thomasson

unread,
Nov 7, 2021, 8:50:55 PM11/7/21
to
[...]

Might be interesting to me when I plot one of vector fields on it.

Chris M. Thomasson

unread,
Nov 7, 2021, 9:31:39 PM11/7/21
to
An interesting vector field is being created from this conversation!
Thanks Ben!

https://i.ibb.co/30Q1BpB/ct-p3.png

Chris M. Thomasson

unread,
Nov 7, 2021, 9:32:49 PM11/7/21
to
On 11/7/2021 6:31 PM, Chris M. Thomasson wrote:
> On 11/7/2021 4:57 PM, Ben Bacarisse wrote:
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>
>>> On 11/7/2021 4:16 PM, Ben Bacarisse wrote:
>>>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>>>
>>>>> On 11/7/2021 3:39 PM, Ben Bacarisse wrote:
>>>>>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
>>>>>>
>>>>>>> On 11/7/2021 7:09 AM, Ben Bacarisse wrote:
>>>>>>>> "Chris M. Thomasson" <chris.m.t...@gmail.com> writes:
[...]
> An interesting vector field is being created from this conversation!
> Thanks Ben!
>
> https://i.ibb.co/30Q1BpB/ct-p3.png

Finding interesting shapes to plot vector fields on is very
interesting... Ahhh, a fractal sentence, indeed. ;^)

Chris M. Thomasson

unread,
Nov 7, 2021, 9:42:31 PM11/7/21
to

Chris M. Thomasson

unread,
Nov 7, 2021, 10:04:19 PM11/7/21
to
On 11/5/2021 11:45 PM, Max wrote:
> On 06.11.21 02:45, David Eather wrote:
>> Just thinking .... if I am wrong, will someone correct me.
>>
>> A scalar is just a measure of magnitude - just a single number, like
>> -1 or 6534 or anything similar. Yes?
>>
>> A vector has magnitude and direction. ?
>>
>> So....
>>
>> The groups of three numbers provided by AOB are not scalars (they are
>> not single numbers specifying a magnitude) and they are not vectors
>> (they do not specify a direction)
>>
>> At best they are a set of coordinates in xyz.
>>
>> (keeping in the given format):
>>
>> To be a scalar, each triple, needs another set of coordinates to allow
>> calculation of the magnitude (and we then throw out all the direction
>> information)
>>
>> To be a vector, each triple, needs another set of coordinates to allow
>> calculation of the magnitude and direction?
>
> Typically, and I think this is how AOB uses vectors, the "another set of
> coordinates" is [0, 0, 0]. This gives the vector direction and
> magnitude. So you could thing of the vector as [0 => x, 0 => y, 0 =>x
> z). If you move the vector ("change of origin"), it becomes (x0 =>x x0 +
> x, y0 => y0 + y, z0 =>x zo + z].
>
> The fun part here is that you can make a bidirectional mapping
> ("bijection") of any 3-dimensional point/vector to a real number (e.g.
> https://www.reddit.com/r/askscience/comments/6opvae/simplest_proof_that_r2_r/
> and https://www.youtube.com/watch?v=XcMZsF4vDbo). So there is no
> fundamental difference between a cipher that is based on vectors or
> based on "scalar" real numbers. Austin still thinks, that there are
> "more" numbers in R^3 then on the "scalar number line" R. It's a typical
> misunderstanding of the concepts of infinity and cardinality.
>
> On top of this, of course everything he does is simply based on integers
> as he and computers can only deal with finite precision.
>
>>
>> Maybe this is the "secret" origin? But this makes no sense (in this
>> case) as AOB does not use ANY calculation of magnate or direction in
>> any of his descriptions of any of his methods?
>>
>> So... "vector" and "scalar" are just buzz words for an unnecessary
>> over-complication of single points of data?
>
> Yes.
>

Actually, I think I can map my infinite 3, 4, 5 triangles onto the real
line. I could collapse them into it. I don't think I would lose any
data, Humm... Give me some time. Perhaps sometime tomorrow.

Chris M. Thomasson

unread,
Nov 7, 2021, 10:04:58 PM11/7/21
to
Even in the interval 0...1

wizzofozz

unread,
Nov 9, 2021, 2:38:31 PM11/9/21
to
Op 6-11-2021 om 11:47 schreef MM:
> On Saturday, 6 November 2021 at 09:47:25 UTC, wizzofozz wrote:
>> Also, in his worked example there is an unexplained 'y' variable, which
>> I asked about a couple of days ago, but had no answer yet. But maybe
>> someone else knows.
>
>
> I checked with a maths-savvy friend, and he was able to show that
> a modified Euclid algorithm could arrive at an answer MUCH quicker
> than AOB's brute-force search. (This optimisation is no doubt known
> to Eve). A corner-case bail-out may be needed if y looks like its getting
> too big.
>
>> y=1
>> while N != cross(V1,V0):
>> y += 1
>
> This is exactly what AOB does.
>

Ok, so thanks to your friend's hint, I tried to do this as well.
I think I got a solution, so I'll try to explain.

what we try to do is to find a 'y' such that:
-(ae-by)/g
is an integer, where a,e,b and g are given.
e = gcd(b,g), that's how Austin set things up.

I choose here a for alpha, b for beta and g for gamma (Austin uses the
Greek alphabet in his "Worked Example").
For now, let's suppose gcd(b,g)==1, so we can simplify to -(a*1-by)/g =
-(a-by)/g


So, if -(a-by)/g is an integer, then -(a-by)%g should be 0.
If -(a-by)%g == 0, then -a%g + by%g == 0, or by%g == a%g.
a%g is just some number, so we call it x.
Thus we try to solve by%g == x
Since gcd(b,g) == 1, we can calculate the inverse b^-1%g
For that we use the extended euclidean algorithm.
So, y*(b*b^-1) == y*1 == x*b^-1 % g

Thus, instead of bruteforcing y by incrementing it and check the result,
we can now do (egcd implementation stolen from the internet):

def egcd(a, b):
if a == 0:
return b, 0, 1
else:
gcd, x, y = egcd(b % a, a)
return gcd, y - (b // a) * x, x

def calcY(N):
return egcd(N[1],N[2])[1]*-N[0]%N[2]


It seems to work, although my laptop apparently is fast enough to not
notice any difference (by looking at the screen, I didn't really time it
(update: with big enough numbers it is a difference between ctrl-c after
two minutes and an instant response)).

What I find interesting, is that this suggests that if b and g are
coprime, that the "factor vectors" always have integer solutions.
I think the method also works if b and g share factors, but I need to
check that better.

NB1: It could also be the case that it's much easier to calculate y, and
I over-complicated things.
NB2: I may be a bit sloppy with modulo notation. It always confuses me.

Ozz








MM

unread,
Nov 9, 2021, 3:37:08 PM11/9/21
to
On Tuesday, 9 November 2021 at 19:38:31 UTC, wizzofozz wrote:
> Ok, so thanks to your friend's hint, I tried to do this as well.
> I think I got a solution, so I'll try to explain.
>
> what we try to do is to find a 'y' such that:
> -(ae-by)/g
> is an integer, where a,e,b and g are given.
> e = gcd(b,g), that's how Austin set things up.

Right. So from this point you can easily see that if real solutions
are allowed, y is just about unconstrained. Integer solutions are
what make this (slightly) interesting.

I wonder what AOB has in mind when he claims that his vectors
are the same as the ones used in physics, i.e. infinitely variable,
when he is so obviously using discrete operations.

> I choose here a for alpha, b for beta and g for gamma (Austin uses the
> Greek alphabet in his "Worked Example").
> For now, let's suppose gcd(b,g)==1, so we can simplify to -(a*1-by)/g =
> -(a-by)/g
:
(snip familiar-looking details)
:
> Thus, instead of bruteforcing y by incrementing it and check the result,
> we can now do (egcd implementation stolen from the internet):
>
> def egcd(a, b):
> if a == 0:
> return b, 0, 1
> else:
> gcd, x, y = egcd(b % a, a)
> return gcd, y - (b // a) * x, x
>
> def calcY(N):
> return egcd(N[1],N[2])[1]*-N[0]%N[2]

Which rings lots of bells.

> It seems to work, although my laptop apparently is fast enough to not
> notice any difference (by looking at the screen, I didn't really time it
> (update: with big enough numbers it is a difference between ctrl-c after
> two minutes and an instant response)).

Count the iterations rather than timing. It's coarser, but gives a better
guesstimate of O(?).

There will be some cases (my friend was handwaving a bit at this point)
where the solution will be big, "he supposes" and I agree with after some
experimenting.

> What I find interesting, is that this suggests that if b and g are
> coprime, that the "factor vectors" always have integer solutions.
> I think the method also works if b and g share factors, but I need to
> check that better.

> NB2: I may be a bit sloppy with modulo notation. It always confuses me.

I dislike number theory for this same reason as I'm a Physics man. Physics
makes sense because of calculus. For number work, I let the computer
do the labour. :-)

M
--

Rich

unread,
Nov 9, 2021, 4:28:37 PM11/9/21
to
MM <mrvm...@gmail.com> wrote:
> I wonder what AOB has in mind when he claims that his vectors are the
> same as the ones used in physics, i.e. infinitely variable, when he
> is so obviously using discrete operations.

My take: since he's using a 3D coordinate space, and the traditional
0,0,0 point as the origin, each of his "points" also defines a "vector"
from the origin to that point.

He is simply unaware that he is quantizing his "infinite" vector space
down to "only those discrete vectors which can be represented by
integer coordinates". Although he might argue that because there are
also "infinite integers" that he is still "infinite". But he would
then be overlooking that his actual application is further constraining
the integers to be in the range <0,MAX> (or maybe <-MAX,MAX> where
"MAX" is whatever the maximum integer value his Ada data type can
represent.

So what he really has is only that, much smaller, discrete set of
vectors that can be represented by tuples who's values are integers in
the range <0,MAX> (or <-MAX,MAX> if he allows for negative coordinates
[does he allow negative coordinates?]).

wizzofozz

unread,
Nov 9, 2021, 4:56:21 PM11/9/21
to
Op 9-11-2021 om 21:37 schreef MM:
>
> I wonder what AOB has in mind when he claims that his vectors
> are the same as the ones used in physics, i.e. infinitely variable,
> when he is so obviously using discrete operations.
>

I read somewhere that he thought of the idea when working with forces,
or something similar. I can imagine that someone would then limit
oneself to the integers for use in some other applications (like aslec).

>
>> It seems to work, although my laptop apparently is fast enough to not
>> notice any difference (by looking at the screen, I didn't really time it
>> (update: with big enough numbers it is a difference between ctrl-c after
>> two minutes and an instant response)).
>
> Count the iterations rather than timing. It's coarser, but gives a better
> guesstimate of O(?).

I just did a quick google and it seems to be O(log n) vs O(n). log n is
probably not precise, but it makes intuitively some sense. What also
makes it faster is that we don't have to check the product for every
guess (we have to execute a number of steps to calculate the gcd, but no
extra work other than that is needed.).


> There will be some cases (my friend was handwaving a bit at this point)
> where the solution will be big, "he supposes" and I agree with after some
> experimenting.
>

This I find kind of odd, since y is bounded by the modulo of 'gamma'.

>
>> NB2: I may be a bit sloppy with modulo notation. It always confuses me.
>
> I dislike number theory for this same reason as I'm a Physics man. Physics
> makes sense because of calculus. For number work, I let the computer
> do the labour. :-)

Physics confuses me as well. As long as they don't let me build rockets,
that's not a problem though imho. :-)

Ozz

MM

unread,
Nov 9, 2021, 5:17:17 PM11/9/21
to
On Tuesday, 9 November 2021 at 21:56:21 UTC, wizzofozz wrote:
> Op 9-11-2021 om 21:37 schreef MM:
> > There will be some cases (my friend was handwaving a bit at this point)
> > where the solution will be big, "he supposes" and I agree with after some
> > experimenting.
> >
> This I find kind of odd, since y is bounded by the modulo of 'gamma'.

You are correct. I must be misremembering that bit.

M
--

Chris M. Thomasson

unread,
Nov 10, 2021, 12:32:28 AM11/10/21
to
On 11/7/2021 5:47 AM, Rich wrote:
> Chris M. Thomasson <chris.m.t...@gmail.com> wrote:
>> On 11/6/2021 9:05 PM, Rich wrote:
>>> Chris M. Thomasson <chris.m.t...@gmail.com> wrote:
>>>> Humm... There should be a way, damn. Once we have two points that
>>>> are 5 units away from each other, we say that is the hypotenuse.
>>>> There has to be a way to construct a triangle from that alone.
>>>> Humm... Damn.
>>>
>>> There is a way to construct an infinite number of triangles from two
>>> points. Hint: pick one of the infinity of other points that define a
>>> specific triangle.
>>>
>>> But there is no way to uniquely identify any single triangle from two
>>> points alone (absent other predefined assumptions data).
>>>
>>
>> That's along my line of thinking, specifically, a 3, 4, 5 triangle. I
>> should just bust out my 3d plotter and give it a go.
>
> But.... Look at the implicit assumptions you have to be making.
>
> In 3D cartesian space, a single point requires three coordinates. You
> have, at most, three coordinates in the triple 3,4,5.

the point (3, 4, 0) works fine.

> That defines
> only a single point in 3D cartesian space. So, somewhere, you are
> making many implicit assumptions as to what "3", "4", and "5" really
> mean, but you are not telling us what those implicit assumptions are.
>
> We see 3,4,5 and all we see is a single point in 3D cartesian space.
>

Rich

unread,
Nov 10, 2021, 9:31:25 AM11/10/21