UNPKG

baskin-lib

Version:
75 lines (74 loc) 2.23 kB
/** * * @param vec input vector * @returns minimum value of `vec` */ export declare function vecFindMin(vec: number[]): number; /** * * @param len length of the output vector * @returns unit vector of length `len`. [1, 0, 0, ..., 0] */ export declare function getUnitVec(len: number): number[]; /** * * @param vec input vector * @returns cumulative sum of `vec`. ex) [1, 2, 3] => [1, 3, 6] */ export declare function vecCumSum(vec: number[]): number[]; /** * * @param vec input vector * @returns Shifted vector. Makes deep copy. ex) [1, 2, 3] => [3, 1, 2]. */ export declare function vecShiftToLast(vec: number[]): number[]; /** * * @param mat input matrix * @returns Row-wise shifted matrix. Makes deep copy. */ export declare function matShiftToLast(mat: number[][]): number[][]; /** * * @param vec input vector * @returns normalized vector such that sum(vector) = 1. */ export declare function vecNormalize(vec: number[]): number[]; /** * * @param revArr reversed array * @param startRow slice starting row index * @param endRow slice ending row index * @returns Slice reversed array as if it is normal. * (noraml array).slice(startRow, endRow).reverse() = sliceRev((reversed array), startRow, endRow) */ export declare function sliceRev<T>(revArr: T[], startRow: number, endRow: number): T[]; /** * * @param mat input matrix * @param colIdx column index to slice * @returns sliced vector. */ export declare function matSliceCol(mat: number[][], colIdx: number): number[]; /** * * @param vec1 (1 x n) row vector * @param vec2 (n X 1) column vector * @returns (vec1 . vec2) = scalar */ export declare function vecVecDot(vec1: number[], vec2: number[]): number; /** * * @param vec (1 x n) row vector. * @param mat (n x m) matrix. Should be in row-major order. * @returns (vec . mat) = (1 x m) row vector */ export declare function vecMatDot(vec: number[], mat: number[][]): number[]; /** * * @param mat (n x m) matrix. Should be in row-major order. * @param vec (m x 1) column vector. * @returns (mat . vec) = (n x l) column vector */ export declare function matVecDot(mat: number[][], vec: number[]): number[]; export declare function matToString(mat: number[][]): string;