Single Component Vectors

Sports score couplets are vectors. They have at least one component and a particular order. The specific order isn’t the criteria; that there is an order is the criteria.

However that doesn’t mean that vectors require two or more components. A single component can be a vector.

Example: score differentials. Last week JMU lost 38-45 to Georgia Southern. The differential was -7. That differential is a vector.

It’s got at least one component, the 7, with a particular order. The order is the order of the two teams. The differential could be +7, with direction reversed but magnitude the same, provided the order is reversed. +7 would be the Georgia-JMU differential. Single component, particular order.

Put another way, a vector is an amplitude and a direction. The 7 is the amplitude, the +/- is the direction.

This is why all negative numbers are vectors. They address a state of change, and the order of the components changing is the order of this small vector.

Calculators

I just bought a $100 calculator.

Normally I’m in one of two regimes: $15 calculators or computer software (Matlab, Mathematica, etc.). I infrequently need something inbetween.

However, for some tests I now do, and the quick and dirty TI 30XIIS has hit its limits. Those limits aren’t excessive naming symbols. I got a TI 83+, which apparently isn’t one of the current really good graphing calculators. For me, it’s night and day. It can invert complex functions with a press of a button. I don’t slog through radian/degree conversions. The thing does full on matrix multiplication without dropping negative signs. It’s like seeing dawn.

Still, for a hundred bucks, it better knock my socks off.

It did.

The Struggle

It’s a struggle to find positive things to say right now. But that makes the struggle even more important.

My Unicomp buckling-spring keyboard is frankly incredible. It is better than any other keyboard I have ever used. I can’t use it at work, because it is kinda loud. At home, it is mechanical perfect. This is the keyboard of the Clockwork Gods.

Convergents to rad(2)

I didn’t find anything too interesting.

I’m pretty sure it’s spelled Convergence, but hey, maybe it’s branding.

Q gets to n=21 before hitting the limit. I guess I could look for a most efficient upgrade path for manual buying.
N=zeros(1,100);
D=zeros(1,100);
Q=zeros(1,100);

N(1)=1;
N(2)=3;

D(1)=1;
D(2)=2;

Q(1)=abs(sqrt(2)-N(1)/D(1))^-1;
Q(2)=abs(sqrt(2)-N(2)/D(2))^-1;

for index=3:100
N(index)=2*N(index-1)+N(index-2);
D(index)=2*D(index-1)+D(index-2);
Q(index)=abs(sqrt(2)-N(index)/D(index))^-1;
end

%some random numbers

c1=25;
c2coeff=4;
n=4;

qdot_base=qdotfunc(c1,c2coeff,n,Q);
qdot_C1=qdotfunc(c1+2,c2coeff,n,Q); %note the +2
qdot_C2=qdotfunc(c1,c2coeff+1,n,Q);
qdot_n=qdotfunc(c1,c2coeff,n+1,Q);

%=================================================
%new file
function [qdot] = qdotfunc(c1, c2coeff, n, Q)

m=n*c2coeff;
c2=2^c2coeff;

qdot=c1*c2*Q(m);

%====================================================

I dunno. Am I missing anything?

Cryptic Warnings

The Book of Treacherous Prophecy says, “When you get to the fork in the road, go left.”

Player 1: “That’s confusing.”

Player 2: “It’s a prophecy. You know how they try to mislead you.”

Player 3: “Hey! We’ve come to a fork in the road.”

P1: “Just like the prophecy foretold! What do we do?”

P2: “We go left.”

P3: “But what does ‘left’ mean?”

P2: “I don’t know. You know how those prophecies mislead you.”

P1: “Left is the opposite of right, right?”

P3: “Right.”

P1: “And the book wants us to go left.”

P2: “Right.”

P1: “So we should go the opposite way.”

P3: “Right!”

P2: “To the right!”

P3: “Good thinking all around!”

Players fight a dragon. Truly, the book is treacherous.

Matlabbery

Weierstrass Sine Product, qdot simulator.

%Matthew Miller
%v_4
%2/8/22
%Calculates max qdot for a range of n and c1 values
%to do more I’d have to optimize a time-dependent progression
%I may do it later

%pdot = q1*q2*q
%qdot = m3Factor * s_n(chi)/sin(chi)
%s_n(chi) = chi * PI(k=1:n)(1-(chi/(k*pi))^2)

%==========================================================================
%start fresh

clear all

%==========================================================================
%human entry

%set number of purchases
steps = 1000;

%since the maximum number of purchases of each variable is all of the
%purchases, these can be set to steps
nDimension = steps;
c1Dimension = steps;

%not sure what to do with these yet
q1=1;
q2=1;
c2=1;

m1=4; %Milestone upgrade 1 level (0, 1, 2, 3, or 4)
m2=1; %Milestone upgrade 2 level (0 or 1)
m3=3; %Milestone upgrade 3 level (0, 1, 2, or 3)

%==========================================================================
%prelim calculations

nIndex=1:nDimension; %X axis
c1Index=1:c1Dimension; %Y axis

m1Factor = q1^(1+0.01*m1); %precalculate
m2Factor = c2^m2; %precalculate
m3Factor = 3^m3; %precalculate

chi = zeros(nDimension,c1Dimension); %preallocate for speed
sinterm = zeros(nDimension,c1Dimension); %preallocate for speed
s_n = zeros(nDimension,c1Dimension); %preallocate for speed
qdot = zeros(nDimension,c1Dimension); %preallocate for speed

%==========================================================================
%generate variables
%Normally I’d do all these with functions, but that’s harder to read

%blah blah blah arrays begin at 1 so I’m ignoring c1(0)=0

stepLength = 50;
basePower = 1;
offset = 1;

power=basePower;
c1steps=1;

c1(1)=offset;

for index = 2:c1Dimension
c1(index) = c1(index-1)+power;
c1steps=c1steps+1;
if c1steps > stepLength
power=power*2;
c1steps=1;
end
end

%chi
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
chi(n_index,c1_index) = pi.*c1(c1_index).*nIndex(n_index)./(c1(c1_index)+nIndex(n_index)/m3Factor)+1; %x=n, y=c1
end
end

%sin(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
sinterm(n_index,c1_index) = sin(chi(n_index,c1_index));
end
end

%s_n(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
s_n(n_index,c1_index) = chi(n_index,c1_index);
s_nk(1)=chi(n_index,c1_index)*(1-(chi(n_index,c1_index)/(1*pi))^2);
if n_index>1
for k = 2:n_index %Big Pi
s_nk(k)=s_nk(k-1)*(1-(chi(n_index,c1_index)/(k*pi))^2);
end
end
s_n(n_index,c1_index)=s_nk(end);
end
end

%qdot(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
qdot(n_index,c1_index)=m2Factor*s_n(n_index,c1_index)/sinterm(n_index,c1_index);
end
end

[M,I] = max(qdot(:));
[n_max, c1_max] = ind2sub(size(qdot),I); %Maximum values
qdot(n_max,c1_max);

%========================================================================================
%plotter
%========================================================================================

clear rows cols

maxSteps = steps;
minSteps = 1;
for stepsIndex=minSteps:maxSteps

nRange=stepsIndex;
c1Range=stepsIndex;

C=max(qdot(1:nRange,1:c1Range));
D=max(C);
[rows(stepsIndex), cols(stepsIndex)] = find(qdot(1:nRange, 1:c1Range) == D);

end

figure(1)
plot(rows, cols)
title(‘Peak Qdot’)
xlabel(‘n’)
ylabel(‘c1’)