Giter VIP home page Giter VIP logo

hiperdual's Introduction

HiperDual

Introduction

Hyper Dual (the title is in Portuguese) numbers are another kind of numbers that can help with many things, including first and second derivatives of a real function.

I think it was introduced by Fike and Alonso for some wing and aerodynamic things. Reading some others papers (you can find it, later i will add them to end of this readme), it’s not exactly the more efficient way to calculate first and second orders derivatives, but that’s fine.

The objective of this library is to provide some support for these numbers and some basic functions for common use.

Whats up with these numbers?

If you are reading this you should at least heard about the complex numbers. It’s similar, it’s some number with special properties that we can use to achieve (very specific in this case) some objective. For complex numbers we have the imaginary number, that is defined as follows:

\[i = \sqrt -1 \iff i^2 = -1\]

The hyper dual numbers takes some of these ideias (after a looong path) and extended it. We can define the hyper dual number \(x\) as:

\[x ∈ \mathbb{HD} = x_0 + x_1ε_1 + x_2ε_2 + x_3ε_1ε_2\]

and:

\[ε_1^2 = ε_2^2 = 0\] \[ε_1 ≠ ε_2 ≠ 0\] \[ε_1ε_2 = ε_2ε_1 ≠ 0\]

And the even more cool part is that we write some function \(f\) we get it’s first and second derivatives for “free”:

\[f(x + h_1ε_1 + h_2ε_2 + h_3ε_1ε_2) = f(x) + h_1f’(x)ε_1 + h_2f’(x)ε_2 + h_3f”(x)ε_1ε_2\]

And that’s it, cool right? Some details you can find in the References section.

! Operations

Some references

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.