Chris@87: """ Chris@87: Basic functions used by several sub-packages and Chris@87: useful to have in the main name-space. Chris@87: Chris@87: Type Handling Chris@87: ------------- Chris@87: ================ =================== Chris@87: iscomplexobj Test for complex object, scalar result Chris@87: isrealobj Test for real object, scalar result Chris@87: iscomplex Test for complex elements, array result Chris@87: isreal Test for real elements, array result Chris@87: imag Imaginary part Chris@87: real Real part Chris@87: real_if_close Turns complex number with tiny imaginary part to real Chris@87: isneginf Tests for negative infinity, array result Chris@87: isposinf Tests for positive infinity, array result Chris@87: isnan Tests for nans, array result Chris@87: isinf Tests for infinity, array result Chris@87: isfinite Tests for finite numbers, array result Chris@87: isscalar True if argument is a scalar Chris@87: nan_to_num Replaces NaN's with 0 and infinities with large numbers Chris@87: cast Dictionary of functions to force cast to each type Chris@87: common_type Determine the minimum common type code for a group Chris@87: of arrays Chris@87: mintypecode Return minimal allowed common typecode. Chris@87: ================ =================== Chris@87: Chris@87: Index Tricks Chris@87: ------------ Chris@87: ================ =================== Chris@87: mgrid Method which allows easy construction of N-d Chris@87: 'mesh-grids' Chris@87: ``r_`` Append and construct arrays: turns slice objects into Chris@87: ranges and concatenates them, for 2d arrays appends rows. Chris@87: index_exp Konrad Hinsen's index_expression class instance which Chris@87: can be useful for building complicated slicing syntax. Chris@87: ================ =================== Chris@87: Chris@87: Useful Functions Chris@87: ---------------- Chris@87: ================ =================== Chris@87: select Extension of where to multiple conditions and choices Chris@87: extract Extract 1d array from flattened array according to mask Chris@87: insert Insert 1d array of values into Nd array according to mask Chris@87: linspace Evenly spaced samples in linear space Chris@87: logspace Evenly spaced samples in logarithmic space Chris@87: fix Round x to nearest integer towards zero Chris@87: mod Modulo mod(x,y) = x % y except keeps sign of y Chris@87: amax Array maximum along axis Chris@87: amin Array minimum along axis Chris@87: ptp Array max-min along axis Chris@87: cumsum Cumulative sum along axis Chris@87: prod Product of elements along axis Chris@87: cumprod Cumluative product along axis Chris@87: diff Discrete differences along axis Chris@87: angle Returns angle of complex argument Chris@87: unwrap Unwrap phase along given axis (1-d algorithm) Chris@87: sort_complex Sort a complex-array (based on real, then imaginary) Chris@87: trim_zeros Trim the leading and trailing zeros from 1D array. Chris@87: vectorize A class that wraps a Python function taking scalar Chris@87: arguments into a generalized function which can handle Chris@87: arrays of arguments using the broadcast rules of Chris@87: numerix Python. Chris@87: ================ =================== Chris@87: Chris@87: Shape Manipulation Chris@87: ------------------ Chris@87: ================ =================== Chris@87: squeeze Return a with length-one dimensions removed. Chris@87: atleast_1d Force arrays to be > 1D Chris@87: atleast_2d Force arrays to be > 2D Chris@87: atleast_3d Force arrays to be > 3D Chris@87: vstack Stack arrays vertically (row on row) Chris@87: hstack Stack arrays horizontally (column on column) Chris@87: column_stack Stack 1D arrays as columns into 2D array Chris@87: dstack Stack arrays depthwise (along third dimension) Chris@87: split Divide array into a list of sub-arrays Chris@87: hsplit Split into columns Chris@87: vsplit Split into rows Chris@87: dsplit Split along third dimension Chris@87: ================ =================== Chris@87: Chris@87: Matrix (2D Array) Manipulations Chris@87: ------------------------------- Chris@87: ================ =================== Chris@87: fliplr 2D array with columns flipped Chris@87: flipud 2D array with rows flipped Chris@87: rot90 Rotate a 2D array a multiple of 90 degrees Chris@87: eye Return a 2D array with ones down a given diagonal Chris@87: diag Construct a 2D array from a vector, or return a given Chris@87: diagonal from a 2D array. Chris@87: mat Construct a Matrix Chris@87: bmat Build a Matrix from blocks Chris@87: ================ =================== Chris@87: Chris@87: Polynomials Chris@87: ----------- Chris@87: ================ =================== Chris@87: poly1d A one-dimensional polynomial class Chris@87: poly Return polynomial coefficients from roots Chris@87: roots Find roots of polynomial given coefficients Chris@87: polyint Integrate polynomial Chris@87: polyder Differentiate polynomial Chris@87: polyadd Add polynomials Chris@87: polysub Substract polynomials Chris@87: polymul Multiply polynomials Chris@87: polydiv Divide polynomials Chris@87: polyval Evaluate polynomial at given argument Chris@87: ================ =================== Chris@87: Chris@87: Import Tricks Chris@87: ------------- Chris@87: ================ =================== Chris@87: ppimport Postpone module import until trying to use it Chris@87: ppimport_attr Postpone module import until trying to use its attribute Chris@87: ppresolve Import postponed module and return it. Chris@87: ================ =================== Chris@87: Chris@87: Machine Arithmetics Chris@87: ------------------- Chris@87: ================ =================== Chris@87: machar_single Single precision floating point arithmetic parameters Chris@87: machar_double Double precision floating point arithmetic parameters Chris@87: ================ =================== Chris@87: Chris@87: Threading Tricks Chris@87: ---------------- Chris@87: ================ =================== Chris@87: ParallelExec Execute commands in parallel thread. Chris@87: ================ =================== Chris@87: Chris@87: 1D Array Set Operations Chris@87: ----------------------- Chris@87: Set operations for 1D numeric arrays based on sort() function. Chris@87: Chris@87: ================ =================== Chris@87: ediff1d Array difference (auxiliary function). Chris@87: unique Unique elements of an array. Chris@87: intersect1d Intersection of 1D arrays with unique elements. Chris@87: setxor1d Set exclusive-or of 1D arrays with unique elements. Chris@87: in1d Test whether elements in a 1D array are also present in Chris@87: another array. Chris@87: union1d Union of 1D arrays with unique elements. Chris@87: setdiff1d Set difference of 1D arrays with unique elements. Chris@87: ================ =================== Chris@87: Chris@87: """ Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: depends = ['core', 'testing'] Chris@87: global_symbols = ['*']