Brains@Play math stuff. Math2 contains all static methods. These get assigned to the main Math object as well as an extension.
This repo will be deprecated at some point when I know where to put all this stuff (if it's even worth keeping later)
- Math2: Advanced Mathematical Utilities
- This class provides a comprehensive set of mathematical and statistical functions,
- vector operations, matrix manipulations, and various utility methods.
- The methods are static and can be used without instantiating the class.
- Note: When importing this script, these methods are also assigned to the Math object without conflict.
- --- Constants ---
-
- TWO_PI: Represents 2π.
-
- C, G, h, R, Ra, H, kbar, kB, ke, me, mp, mn, P0, T0, p0, Na, y, M0, g0, Re, B, S, Sigma: Various mathematical and physical constants.
- --- Vector Operations ---
-
- vecadd(...vectors): Element-wise addition of vectors.
-
- vecmul(...vectors): Element-wise multiplication of vectors.
-
- vecsub(vec1, vec2): Subtract vec2 from vec1.
-
- vecdiv(numvec, denvec): Element-wise division of numvec by denvec.
-
- vecscale(vec, scalar): Scale a vector by a scalar.
-
- dot(vec1, vec2): Dot product of two vectors.
-
- cross3D(vec1, vec2): Cross product for 3D vectors.
-
- magnitude(vec): Compute the magnitude of a vector.
-
- distance(point1, point2): Compute the distance between two points.
-
- normalize(vec): Normalize a vector.
-
- project(vec1, vec2): Project vec1 onto vec2.
-
- angleBetween(vec1, vec2): Compute the angle (in radians) between two vectors.
-
- sphericalToCartesian(r, theta, phi): Convert spherical coordinates to Cartesian.
-
- cartesianToSpherical(x, y, z): Convert Cartesian coordinates to spherical.
-
- makeVec(point1, point2): Create a vector from two points.
-
- vecaddScalar, vecmulScalar, vecsubScalar, vecdivScalar: Perform operations between a vector and a scalar.
-
- midpoint: Compute the midpoint between two points.
-
- normalizeSeries: Normalize a series of numbers.
- --- Matrix Operations ---
-
- transpose(mat): Transpose a 2D matrix.
-
- matmul(A, B): Multiply two matrices.
-
- matscale(mat, scalar): Scale a matrix by a scalar.
-
- matadd(A, B): Add two matrices.
-
- matsub(A, B): Subtract matrix B from A.
-
- inverse(matrix): Compute the inverse of a square matrix.
-
- diagonalMatrix(values): Create a diagonal matrix with given values.
-
- identityMatrix(size): Create an identity matrix of a given size.
-
- getColumn(matrix, col): Extract a column from a matrix.
-
- clone(mat): Create a deep copy of a matrix.
-
- qrDecomposition(matrix): Perform QR decomposition on a matrix.
-
- householderMatrix: Generate a Householder matrix from a vector.
-
- inverse: Compute the inverse of a matrix.
-
- column: Extract a column from a matrix.
-
- flatten_vector: Flatten a vector.
-
- squared_difference: Compute the squared difference between two vectors.
-
- shift_deflate: Perform shift deflate operation on a matrix.
-
- eigenvalue_of_vector: Compute the eigenvalue of a vector for a matrix.
-
- svdSimultaneousPowerIteration: Compute the SVD using simultaneous power iteration.
-
- reshape: Reshape an array to a given shape.
- --- Statistical Functions ---
-
- mean(arr): Compute the mean of an array.
-
- median(data): Compute the median of an array.
-
- mode(arr): Compute the mode of an array.
-
- std(arr, mean): Compute the standard deviation of an array.
-
- variance(arr): Compute the variance of an array.
-
- coeffVariation(arr, populationMean): Compute the coefficient of variance.
-
- skewness(arr): Compute the skewness of an array.
-
- kurtosis(arr): Compute the kurtosis of an array.
-
- chiSquareTest(observed, expected): Perform a chi-square goodness of fit test.
-
- percentile(arr, p): Compute the p-th percentile of an array.
-
- interquartileRange(arr): Compute the interquartile range of an array.
-
- range(data): Compute the range (max - min) of an array.
-
- relError(actual, forecast): Compute the relative error between actual and forecast values.
-
- zscore(arr): Compute the z-scores of an array.
-
- covariance(arr1, arr2): Compute the covariance between two arrays.
-
- correlationCoeff(arr1, arr2): Compute the correlation coefficient between two arrays.
-
- informationEntropy: Compute the information entropy of an array.
-
- coeffDetermination: Compute the coefficient of determination between observed and expected values.
-
- simpleLinearRegression: Perform simple linear regression on x and y coordinates.
-
- expectedValue: Compute the expected value of samples.
-
- originMoment: Compute the origin moment of samples.
-
- centralMoment: Compute the central moment of samples.
-
- linearDiscriminantAnalysis: Perform linear discriminant analysis on samples.
-
- decompose: Decompose a signal.
-
- idwt: Inverse discrete wavelet transform.
-
- dwtMaxLevel: Compute the maximum level of discrete wavelet transform.
-
- minMaxScaler: Scale data to a min-max range.
-
- garroteThreshold: Apply garrote thresholding to data.
-
- covVec: Compute the covariance of two vectors.
-
- cov1d, cov2d, cov3d, covNd: Compute the covariance for 1D, 2D, 3D, and N-dimensional data.
-
- eigens2x2, eigenvectors2x2: Compute the eigenvalues and eigenvectors for a 2x2 matrix.
-
- fastpca2d: Perform fast PCA for 2D data.
-
- crosscorrelation, autocorrelation, autocorrelation2d, autocorrelation2dNormalized, crosscorrelation2d, crosscorrelation2dNormalized, correlograms: Various correlation methods.
-
- sma: Compute the simple moving average.
-
- reduceArrByFactor: Reduce an array by a given factor.
-
- makeArr: Create an array with linearly spaced values.
-
- autoscale: Autoscale an array.
-
- absmax: Compute the absolute maximum of an array.
-
- downsample, upsample, dyadicUpsample, resample: Various sampling methods.
-
- isExtrema, isCriticalPoint: Check for extrema or critical points in an array.
-
- peakDetect: Detect peaks in an array.
-
- getPeakThreshold: Compute the threshold for peak detection.
-
- circularBuffer: Implement a circular buffer.
- --- Utility Methods ---
-
- HSLToRGB(h, s, l, scalar): Convert HSL to RGB.
-
- genSineWave(): Generate a sine wave.
-
- linspace(start, end, num): Generate linearly spaced values between start and end.
-
- lerp(v0, v1, t): Linear interpolation between v0 and v1.
-
- pad(arr, pad, padValue): Pad an array with a given value.
-
- flatten(arr): Flatten a multi-dimensional array.
-
- sum(arr): Compute the sum of an array's elements.
-
- histogram(arr, binSize): Compute a histogram of an array.
-
- normalDistribution(samples, normalize): Generate a normal distribution from samples.
- --- Advanced Mathematical Methods ---
-
- eigens(mat): Compute the eigenvalues of a matrix.
-
- pca(mat): Principal Component Analysis.
-
- dft(arr): Discrete Fourier Transform.
-
- svd(A): Singular Value Decomposition of a matrix.
-
- power_iteration(A): Power iteration method for eigenvalue computation.
-
- quadraticFormula(a, b, c): Solve a quadratic equation.
-
- newtonsMethod1D(foo): Newton's method for root finding in 1D.
-
- integral(func, range): Compute the integral of a function over a range.
-
- dintegral(func, range, stepx, stepy): Approximate the double integral (volume under a surface) in 3D space using the provided function and range.
-
- tintegral(func, range, stepx, stepy, stepz): Approximate the triple integral in 4D space using the provided function and range.
-
- pintegral(func, range, stepx): Approximate the path integral (length of a curve) in 2D space using the provided function and range.
-
- pathIntegral2D(xFunc, yFunc, range, stepx, stepy): Approximate the path integral (length of a curve) in 2D space using parametric functions for x and y.
-
- pathIntegral3D(xFunc, yFunc, zFunc, range, stepx, stepy, stepz): Approximate the path integral (length of a curve) in 3D space using parametric functions for x, y, and z.
- --- Filters and Kernels ---
-
- imgkernels: Collection of image processing kernels.
-
- conv1D(s, kernel): 1D convolution.
-
- conv2D(matrix, kernel): 2D convolution.
-
- convN(matrix, kernel): N-dimensional convolution
-
- p300: Compute the P300 component of event-related potentials.
-
- waveletFiltering: Filter a signal using wavelets.
-
- dec_lo,dec_hi,rec_lo,rec_hi: sym4 wavelet lowpass/highpass filters prepicked for motion artifacts
- For detailed parameter descriptions and usage, refer to the individual method documentation.