brainsatplay-math
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

brainsatplay-math

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.

Readme

Keywords

Package Sidebar

Install

npm i brainsatplay-math

Weekly Downloads

1

Version

0.1.0

License

LGPL-3.0-or-later

Unpacked Size

3.15 MB

Total Files

28

Last publish

Collaborators

  • moothyknight