Math¶
- class pathsim.blocks.math.Math[source]¶
Bases:
BlockBase math block.
Note
This block doesnt implement any functionality itself. Its intended to be used as a base for the elementary math blocks. Its not intended to be used directly!
- class pathsim.blocks.math.Sin[source]¶
Bases:
MathSine operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \sin(\vec{u})\]
- class pathsim.blocks.math.Cos[source]¶
Bases:
MathCosine operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \cos(\vec{u})\]
- class pathsim.blocks.math.Sqrt[source]¶
Bases:
MathSquare root operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \sqrt{|\vec{u}|}\]
- class pathsim.blocks.math.Abs[source]¶
Bases:
MathAbsolute value operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \vert| \vec{u} \vert|\]
- class pathsim.blocks.math.Pow(exponent=2)[source]¶
Bases:
MathRaise to power operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \vec{u}^{p}\]- Parameters:
exponent (float, array_like) – exponent to raise the input to the power of
- class pathsim.blocks.math.PowProd(exponents=2)[source]¶
Bases:
MathPower-Product operator block.
This block raises each input to a power and then multiplies all results together:
\[y = \prod_i u_i^{p_i}\]- Parameters:
exponents (float, array_like) – exponent(s) to raise the inputs to the power of. If scalar, applies same exponent to all inputs.
- class pathsim.blocks.math.Exp[source]¶
Bases:
MathExponential operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = e^{\vec{u}}\]
- class pathsim.blocks.math.Log[source]¶
Bases:
MathNatural logarithm operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \ln(\vec{u})\]
- class pathsim.blocks.math.Log10[source]¶
Bases:
MathBase-10 logarithm operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \log_{10}(\vec{u})\]
- class pathsim.blocks.math.Tan[source]¶
Bases:
MathTangent operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \tan(\vec{u})\]
- class pathsim.blocks.math.Sinh[source]¶
Bases:
MathHyperbolic sine operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \sinh(\vec{u})\]
- class pathsim.blocks.math.Cosh[source]¶
Bases:
MathHyperbolic cosine operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \cosh(\vec{u})\]
- class pathsim.blocks.math.Tanh[source]¶
Bases:
MathHyperbolic tangent operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \tanh(\vec{u})\]
- class pathsim.blocks.math.Atan[source]¶
Bases:
MathArctangent operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \arctan(\vec{u})\]
- class pathsim.blocks.math.Norm[source]¶
Bases:
MathVector norm operator block.
This block computes the Euclidean norm of the input vector:
\[y = \|\vec{u}\|_2 = \sqrt{\sum_i u_i^2}\]
- class pathsim.blocks.math.Mod(modulus=1.0)[source]¶
Bases:
MathModulo operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \vec{u} \bmod m\]Note
modulo is not differentiable at discontinuities
- Parameters:
modulus (float) – modulus value
- class pathsim.blocks.math.Clip(min_val=-1.0, max_val=1.0)[source]¶
Bases:
MathClipping/saturation operator block.
This block supports vector inputs. This is the operation it does:
\[\vec{y} = \text{clip}(\vec{u}, u_{min}, u_{max})\]- Parameters: