On the TFC Abuse(?) of Cruel Ship Review

Exceedingly rare phenomenon of me learning a concept in school and applying it to KTaNE, and not the other way around.

It is recommended to read up on Matrices if you are unfamilliar with the matrix terminology or need other explanations.

  1. Use the green/red buttons to cycle between 6 different ships (2 characters on the right).
  2. Note each of these ships and look up their ship ratings for each user on the Not Ship Review sheet.
  3. Create a 6x6 matrix where...
    • each row corresponds to a ship (in the same order on the module).
    • and each column corresponds to a user in the order of Play, Megum, Rand, 1254, Boris, Ufo (in the same order on the sheet and module).
  4. Split this matrix into quadrants, each being 3x3. Multiply each quadrant matrix in reading order. Call the product Matrix A.
  5. Let Matrix B = A' * A
  6. Name the elements of B letters R through Z in reading order, and calculate:
    • h3 = -1
    • h2 = R+V+Z
    • h1 = (V*Z - W*Y + R*Z - T*X + R*V - S*U) * -1
    • h0 = det(B)
  7. Find the 3 roots of h3*x^3 + h2*x^2 + h1*x + h0 = 0
    • (A root is defined as a value of x that makes the equation true).
    • You may use polynomialRoot(h0,h1,h2,h3) to get the roots. Any close to 0 imaginary components should be discarded.
    • Define the roots as λ₁, λ₂, and λ₃, where λ₁ ≥ λ₂ ≥ λ₃ ≥ 0 (all positive).
  8. Let Mi = B - λi * I. (Where I is the 3x3 identity matrix) Do the following for each M.
    • Let r1 and r2 be the first and second rows of Mi respectively.
    • (r1[1] refers to the first element of r1, same for the second [2] and third [3] element and r2)
    • r1 = r1 / r1[1]
    • r2 = r2 - r1 * r2[1]
    • r2 = r2 / r2[2]
    • r1 = r1 - r2 * r1[2]
    • Let Vi = [-r1[3], -r2[3], 1] / hypot(r1[3], r2[3], 1)
      • Or alternatively, Let Vi = [-r1[3], -r2[3], 1]. Then normalize Vi.
  1. Let Ui = (A*Vi) / sqrt(λi)
    • Ui = Ui / hypot(Ui)
      • Or alternatively, normalize Ui.
  2. Let R = [U1, U2, U3]' * [V1, V2, V3]
    • R should be a 3x3 matrix of values between -1 and +1.
    • Truncate each element of R to 4 decimal places.
      • You can use fix(R, 4) to do this to the entire matrix at once.
  3. For each user on the module...
    • Count how many times their picture is lit on the first 3 ships, look at this row of R (top is 1).
    • Count how many times their picture is lit on the last 3 ships, look at this column of R (left is 1).
    • Look at the element in both the row and the column, input this into the module.
    • See the original manual for input instrunctions.

You can consult PossessedHood416 on Discord if you feel this manual needs more clarification, better wording, or other fixes. But anyways, good luck. -Possessed