Skip to main content

'''Engpy is a free and open-source Python library for Engineering computing

Engpy is targeted to take care of most engineering problems like caculus,
transforms, graphs, complex algebraic expressions, Matrices manipulation,
vector analysis, analyzing signals.

The Engpy consist of mainly 3 Datatypes:
1. Expr
    This is the core datatype of Engpy. Most other engpy are based on this class
    This class is responsible for any algebraic manipulations.

        1.  Simple Algebra: Addition, Subtraction, Multiplication, Division
                            Substitution of Expressions; a subject of the formula,
                            clear brackets, and fractions.
        2.  Caculus: linear and partial differentiation, integration, gradient
        3.  Trigonometry
        4.  logarithmic Expressions
        5.  Transforms: Laplace, Z-Transforms
        6.  Visualization: Graphs
        7.  Table of Values
        8.  Complex Number Manipulation
        9.  Solving Expressions
        10. Support the engpy AI Implementation for manipulating expressions

    Expr can be imported from engpy
    >>> from engpy import Expr

    See the doc file or Expr documentation to learn its usage

    To interact with Expr as Discrete objects, use the interface module.
    the interface module bridges between Expr Class and Expr datatypes.

    For example, y  = 2xcos3(2θ) - 7y^2sin(2ω) - ln(sqrt(z +3)); s = y - cos(5z)
    This can be enter directly into the Expr Class
    >>> from engpy import Expr
    >>> w = Expr('2xcos3(2theta) - 7y^2sin(2omega) - ln(sqrt(z +3)); s = y - cos(5z)')
    >>> s = w - 'cos(5z)'
    >>> w
    2xcos3(2θ) - 7y^2sin(2ω) - ln(sqrt(z + 3))
    >>> s
    2xcos3(2θ) - 7y^2sin(2ω) - ln(sqrt(z + 3)) - cos(5z)

    In Discrete form
    >>> from interface import *
    >>> o,x,t,y,z = Var('omega', 'x', 'theta','y','z')
    >>> w = 2*x*cos(2*t)**3 - 7*y**2*sin(2*o) - ln(sqrt(z + 3))
    >>> w
    2xcos3(2θ) - 7y^2sin(2ω) - ln(sqrt(z + 3))
    >>> s = w - cos(5*z)
    >>> s
    2xcos3(2θ) - 7y^2sin(2ω) - ln(sqrt(z + 3)) - cos(5z)


    Note that to cast Expr to string: use str(ExprObj) or format(ExprObj), repr(ExprObj)
    str(ExprObj) will return the ExprObj in its simplest lowest form
    format(ExprObj) will return the ExprObj in its normal form
    repr(ExprObj) will return the ExprObj in the most readable form

    it's recommended to use format or repr as they faster than str. Only use str when necessary






2. Matrix
    This datatype handles all Matrix operations and manipulations. This datatype
    rest on Expr Class.

    1. Simple Matrix Algebra: Addition, Subtraction, Multiplication, Division
                              Substitution of Matrices
    2. Determinant, Minors, Cofactors, Adjoin, transpose, rank
    3. Reduction: echelon, canonical, triangular decomposition

    4. Row and column Transformation operations
    5. Decomposition: Triangular, Symmetric, hermitian decomposition
    6. Matrix Geometry: eigenvalues, modal, spectral, nullspace
                       algebraic multiplicity, geometric multiplicity
                       of a Matrix
    7. Differentiation
    8. Solving and comparing Matrices

    The matrix module or Matrix Class/datatype comes in two implementations.
    as Matrix or Matrix_
    Both can be import from engpy
    >>> from engpy import Matrix
    or
    >>> from engpy import Matrix_

    See the Matrix_doc file or engpy Arrays documentation to learn its usage


3. Vector
    This data type holds the keys to vector analysis.
    1. Simple Vector Algebra: Addition, Subtraction, Substitution, Modulus
                              of Vectors
    2. Angles between Vectors
    3. Multiplication of Vector: Dot, and scalar product
    4. Vector Calculus: Differentiation and Integration
    5. Vector Operations: Tangents, normals, grad, directional derivatives,
                          div, curl
    6. Validating properties: solenoidal, irrotational, coplanar, orthogonality
    7. Scalar, Vector Triple product

    Vector Class can also be imported from engpy
    >>> from engpy import Vector


Note that All these three datatypes works with python operators, +, -, /, *, ~
e.g MatObj1 + MatObj2

'''

Metadata

Release files for engpy 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for engpy 1.0.6
File Size Uploaded Provenance
engpy-1.0.6.tar.gz 97.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for engpy 1.0.6
File Interpreter ABI Platform
engpy-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 209.8 kB

Release files / engpy-1.0.6.tar.gz

Download URL engpy-1.0.6.tar.gz
Size 97.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9b1084485ccd0c89bf219f188b54c2cc8116c02747a637065d494c57881866d9
BLAKE2b-256 checksum
How to use checksums
203e909fe330f0273bc6c70f71ddb3dc041f409f57aa7d1b934fac8cebda4e37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.3

Release files / engpy-1.0.6-py3-none-any.whl

Download URL engpy-1.0.6-py3-none-any.whl
Size 111.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
261946f1a9c174c26abb3b2e27ae94ef3a12767b9c3fc69f579448413f5fcc06
BLAKE2b-256 checksum
How to use checksums
86fbdf34f18ca633696e350e221a60c5a7f66fa719a1f71129ece5783c3104bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.3

Security for engpy 1.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page