Closed Thermotronica closed 4 months ago
type Complex = { real: float; imag: float }
let toComplexNumber real imag = { real = real; imag = imag }
let rec recursiveComplexNumber iterations = if iterations = 0 then toComplexNumber 1.0 1.0 else let prev = recursiveComplexNumber (iterations - 1) let r = prev.real + prev.imag let i = prev.real - prev.imag toComplexNumber r i
[
let recursive = recursiveComplexNumber iterations
let e_iphi = toComplexNumber (System.Math.Cos phi) (System.Math.Sin phi)
let result = { real = recursive.real / e_iphi.real; imag = recursive.imag / e_iphi.imag }
printfn "Result: %A" result
printfn "Phase Angle (phi): %f" phi
0 // Exit code
<!DOCTYPE html>
Pixel Aliasing with Dragging
public class ContinuedFractionMatrix { public static void main(String[] args) { // Define the matrix representing the continued fraction [3; 6] int[][] matrix = {{3, 1}, {1, 0}};
// Calculate the continued fraction
int[][] result = matrixPower(matrix, 10);
// Print the result
System.out.println("Result:");
printMatrix(result);
}
public static int[][] matrixPower(int[][] matrix, int power) {
int[][] result = {{1, 0}, {0, 1}}; // Initialize identity matrix
// Perform matrix multiplication iteratively
for (int i = 0; i < power; i++) {
result = matrixMultiply(result, matrix);
}
return result;
}
public static int[][] matrixMultiply(int[][] a, int[][] b) {
int[][] result = new int[2][2];
// Perform matrix multiplication
result[0][0] = a[0][0] * b[0][0] + a[0][1] * b[1][0];
result[0][1] = a[0][0] * b[0][1] + a[0][1] * b[1][1];
result[1][0] = a[1][0] * b[0][0] + a[1][1] * b[1][0];
result[1][1] = a[1][0] * b[0][1] + a[1][1] * b[1][1];
return result;
}
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
🧐
import org.apache.commons.math3.complex.Complex;
public class ContinuedFractionMatrix { public static void main(String[] args) { // Define the matrix representing the continued fraction [3; 6] Complex[][] matrix = { {new Complex(3, 0), new Complex(1, 0)}, {new Complex(1, 0), new Complex(0, 0)} };
// Calculate the 10th power of the matrix
Complex[][] result = matrixPower(matrix, 10);
// Print the result
System.out.println("Result:");
printMatrix(result);
}
public static Complex[][] matrixPower(Complex[][] matrix, int power) {
Complex[][] result = {
{Complex.ONE, Complex.ZERO},
{Complex.ZERO, Complex.ONE}
}; // Initialize identity matrix
// Perform matrix multiplication iteratively
for (int i = 0; i < power; i++) {
result = matrixMultiply(result, matrix);
}
return result;
}
public static Complex[][] matrixMultiply(Complex[][] a, Complex[][] b) {
Complex[][] result = new Complex[2][2];
// Initialize the result matrix with zeroes
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
result[i][j] = Complex.ZERO;
}
}
// Perform matrix multiplication
result[0][0] = a[0][0].multiply(b[0][0]).add(a[0][1].multiply(b[1][0]));
result[0][1] = a[0][0].multiply(b[0][1]).add(a[0][1].multiply(b[1][1]));
result[1][0] = a[1][0].multiply(b[0][0]).add(a[1][1].multiply(b[1][0]));
result[1][1] = a[1][0].multiply(b[0][1]).add(a[1][1].multiply(b[1][1]));
return result;
}
public static void printMatrix(Complex[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
<!DOCTYPE html>