Java project of math function and counting

Overview

JavaMath

This is program for some math function created by me. They are not exactly efficient, they are just for education purposses.

Structure of files

  • "src/App.java" - function are called from this file. There are some examples, which you can un-comment to acces. All math functions are located in "src/lib/java/math".
  • "src/lib/java/math/functions/" - place where all my math function are located.
  • "src/lib/java/math/plotter/" - place where all my plots are located.
  • "src/lib/java/constants/" - place where some constants, declared by my self or created by functions, are located.
  • "src/lib/math/complex/" - place where all files and folder of complex mathematics are located.
  • "img/" - place where all additional images are located.

Functions which are based on real numbers

What constants there currently are?

What function are now working?

What function you can plot?

  • Möbius function ("src/lib/java/math/plotter/function_plotter/mobius_plotter.java") - You can plot values of Möbius function μ(n) from 1 to 50. With some editing you can add more values, but it will become really messy.
    plot plot
  • Gamma function ("src/lib/java/math/plotter/function_plotter/gamma_plotter.java") - You can plot values of Gamma function Γ(z) from -5 to 5. With some editing you can expand to more values, but it will again become really messy.
  • Riemann zeta function ("src/lib/java/math/plotter/function_plotter/zeta_plotter.java") - You can plot values of Riemann zeta function from -1 to 5. You can ho higher than 5 but lower that -1 it wont work. Also, my algorithm is very slow, so it outputs some inaccurate answers to become more faster.

Complex numbers and functions

What complex operations it can perform?

  • Nearly all my knowledge about complex numbers and their operations is taken from wikipedia: https://en.wikipedia.org/wiki/Complex_number.
  • There is also something named BigComplexNumbers. This is just complex numbers but with more precision using BigDecimal. I need it for some functions like stieltjes constants or hurwitz zeta function. It's needed because java double has small limit for those functions.
  • My algorithms for complex numbers currently supports:
    • Addition & Subtraction
    • Multiplicaton & Division
    • Square & Square root
    • Exponential function
    • Natural logarithm
    • Sine & Cosine; Tangent & Cotangent; Secant & Cosecant
    • Arctan
    • Sinh & Cosh; Tanh & Coth; Sech & Csch
    • Exponentiation
    • Mod

What complex functions are now working?

What complex function can it plot?

  • Gamma function ("src/lib/java/math/plotter/complex_function_plotter/complex_gamma_plotter.java") - Plotted thanks to domain coloring: https://en.wikipedia.org/wiki/Domain_coloring. Color is assigned to angle θ of complex number. Pictures down there are not plotted with this setting, insted there is used product of real and imaginary value as color. Its not exactly precise, but it do it's job. You can choose between printing 22k, 90k or 360k points, this picture is printed with 360k points
    plot plot
  • Zeta function ("src/lib/java/math/plotter/complex_function_plotter/complex_gamma_plotter.java") - Plotted again thanks to domain coloring. All properities stay the same as for Gamma function. Its not presize with big numbers, its just approximation for smaller numbers. You can choose to plot 5.5k, 20k, 90k, 360k points, which takes something about 10 minuts to print. This picture is prited with 360k points.
  • Beta function ("src/lib/java/math/plotter/complex_function_plotter/complex_beta_plotter.java") - Plotted with domain coloring. There are two plots. Both are plotted from -5 to 5 on both axis and. First plot of beta function B(x,y), where x = a+bi and y = b+ai (b, a are areal numbers).
    plot plot
  • Eisenstein series ("src/lib/java/math/plotter/complex_function_plotter/fourier_series/eisenstein_plotter.java") - Plotted with domain coloring. Plot of Eisenstein series with choosable value k. You can plot this with 3.7k, 14,4k or 58k points and this plot is made with 58k points. Warning - for more points it takes a huge amount of time. There are plots of G4 and G10.
    plot plot

Trigonometric functions

Hyperbolic function

You might also like...

👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike

👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike

Quick Info this library tries to solve language detection of very short words and phrases, even shorter than tweets makes use of both statistical and

Dec 28, 2022

Bazel training materials and codelabs focused on beginner, advanced and contributor learning paths

Bazel-learning-paths This repo has materials for learning Bazel: codelabs, presentations, examples. We are open sourcing the content for training engi

Nov 14, 2022

Detection, Classification, and Localisation of marine mammal and other bioacoustic signals

This is the main code repository for the PAMGuard software. This repository was created on 7 January 2022 from sourceforge SVN repository at https://s

Nov 4, 2022

This repository holds the famous Data Structures (mostly abstract ones) and Algorithms for sorting, traversing, and modifying them.

This repository holds the famous Data Structures (mostly abstract ones) and Algorithms for sorting, traversing, and modifying them.

Data-Structures-and-Algorithms About Repo The repo contains the algorithms for manipulating the abstract data structures like Linked List, Stacks, Que

Dec 26, 2021

Datumbox is an open-source Machine Learning framework written in Java which allows the rapid development of Machine Learning and Statistical applications.

Datumbox is an open-source Machine Learning framework written in Java which allows the rapid development of Machine Learning and Statistical applications.

Datumbox Machine Learning Framework The Datumbox Machine Learning Framework is an open-source framework written in Java which allows the rapid develop

Dec 9, 2022

java deep learning algorithms and deep neural networks with gpu acceleration

Deep Neural Networks with GPU support Update This is a newer version of the framework, that I developed while working at ExB Research. Currently, you

Jan 6, 2023

A Simple movies app using JAVA,MVVM and with a offline caching capability

A Simple movies app using JAVA,MVVM and with a offline caching capability

IMDB-CLONE A simple imdb clone using JAVA,MVVM with searching and bookmarking ability with offline caching ability screenshots Home Screen 1 Home Scre

Aug 16, 2022

This repository consists of the code samples, assignments, and the curriculum for the Community Classroom complete Data Structures & Algorithms Java bootcamp.

DSA-Bootcamp-Java Subscribe to our channel Complete Playlist Syllabus Discord for discussions Telegram for announcements Connect with me     Follow Co

Jan 1, 2023
Owner
Hi - I'm self-learned Python and now also Java programer. I'm not that good at it, but I have some knowledge and gaining some skill
null
JML - Java Math Library.

JML JML - Java Math Library. JML is a Java Math Library for solving Advanced Mathematical calculations. Disclaimer This project is under heavy develop

Java Math Library 3 Sep 23, 2021
java math accurate implementation & experiments

Marlin-Math Accurate and fastest Math functions in java, like the Marlin renderer ! Rationale Java supports Quadratic & Cubic curves in Java2D & JavaF

Laurent Bourgès 7 Nov 18, 2021
neutriNote - Markdown + Math in Just 3 MB!

Official | FAQ | Documentation | Mastodon | XDA neutriNote (Community Edition) What is neutriNote? In a nutshell, all-in-one preservation of written t

AppML 186 Jan 3, 2023
Math World is an android application specialized in mathematics discover more about it in README.

Math World App Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, un

null 7 Mar 12, 2022
Data Structure using Java Project

CSC348-Data-Structure This repository contains end of semester project for Data Structure (UiTM diploma's subject). It is developed using Java languag

Farhana Ahmad 2 Oct 11, 2021
Test project for learning GoF design pattern

DesignPattern Test project for learning GoF design pattern ㅁ개요 객체지향 설계의 교과서라고 불리는 Design Pattern 을 직접 Activity 별로 구현해봤습니다. ㅁ동기 물론 디자인패턴을 몰라도 기능은 얼마든지

null 11 Aug 8, 2022
This is my andriod project

FutureFurnitureUI-Android Check out the new style for App Design aims for Furniture E-commerce... ?? ?? ?? ?? Screenshots Please click the image below

Ashish Kumar 15 Jul 3, 2022
Archinsight project tends to implement architecture-as-code definition of a standard c4 architecture model

Archinsight project tends to implement architecture-as-code definition of a standard c4 architecture model. This project offers a new Insight language designed in such way that an Architect can focus on architecture definition, not visualization. Compared to UML, the Insight language is more specific and is unable to describe an arbitrary entity, but shorter and probably easier to use.

null 25 Nov 24, 2022
Chih-Jen Lin 4.3k Jan 2, 2023