commons-math

Commons Math是由一组数学/stat实用程序组成的,这些实用程序可以解决下面列表中的编程问题。这个列表并不是详尽的,它只是为了让大家对Commons Math所提供的东西有所了解。

对数字列表的计算方法、方差和其他汇总统计信息

使用线性回归将直线拟合到一组数据点上

将曲线拟合到一组数据点上

通过一系列点(插值)找到一条平滑的曲线

用最小二乘方法将参数模型拟合到一组测量结果中

求解包含实值函数的方程(即寻根)

解线性方程组

常微分方程解

多维函数最小化

生成具有更多限制的随机数(e。g分布,范围)比使用JDK可能的

生成与输入文件中的数据“类似”的随机样本和/或数据集

进行统计显著性检验

各种数学函数,如阶乘、二项式系数和“特殊函数”(例如,函数)

我们正在积极寻找其他组件的想法,这些组件符合通用的数学愿景,即一组轻量级、自包含的 math/stat 组件,这些组件对解决常见的编程问题非常有用。

对于新组件或现有功能的增强的建议总是受欢迎的!所有关于改进的反馈/建议都应该发送到 commons-dev 邮件列表,在主题行开始处加上[math]。

包的组织

Commons Math is divided into sixteen subpackages, based on functionality provided.

org.apache.commons.math4.stat - statistics, statistical tests

org.apache.commons.math4.analysis - rootfinding, integration, interpolation, polynomials

org.apache.commons.math4.random - random numbers, strings and data generation

org.apache.commons.math4.special - special functions (Gamma, Beta)

org.apache.commons.math4.linear - matrices, solving linear systems

org.apache.commons.math4.util - common math/stat functions extending java.lang.Math

org.apache.commons.math4.complex - complex numbers

org.apache.commons.math4.distribution - probability distributions

org.apache.commons.math4.fraction - rational numbers

org.apache.commons.math4.transform - transform methods (Fast Fourier)

org.apache.commons.math4.geometry - geometry (Euclidean spaces and Binary Space Partitioning)

org.apache.commons.math4.optim - function maximization or minimization

org.apache.commons.math4.ode - Ordinary Differential Equations integration

org.apache.commons.math4.genetics - Genetic Algorithms

org.apache.commons.math4.fitting - Curve Fitting

org.apache.commons.math4.ml - Machine Learning

如何在 common-math javadoc 中指定接口契约

在您的程序中使用Commons Math组件时,您应该始终仔细阅读javadoc类和方法注释。

javadoc提供了对所使用算法的引用、关于限制、性能等的用法说明以及接口契约。

接口契约是根据先决条件(为了使方法返回有效结果必须为真)、返回的特殊值(例如Double.NaN)或在不满足先决条件时可能抛出的异常以及返回值/对象或状态更改的定义来指定的。

当提供给方法的实际参数或对象的内部状态使计算无意义时,可能会抛出MathIllegalArgumentException或MathIllegalStateException。

javadoc方法注释中指定了抛出运行时异常(和任何其他异常)的确切条件。

在某些情况下,要与IEEE 754浮点运算标准和java.lang保持一致。Math, Commons Math方法返回Double。NaN值。Double 的条件。

返回的NaN或其他特殊值在javadoc方法注释中完全指定。

在版本2.2中,处理null引用的策略如下:

当一个参数意外为null时,会抛出一个NullArgumentException来表示非法的参数。

注意,这个类不是继承自标准的NullPointerException,而是MathIllegalArgumentException的一个子类。

依赖

jdk1.5+

感想

java 相关的数学工具包少得可怜。。。

参考资料

java commons math_Apache Commons Math相关推荐

  1. Math源码java_深入学习java源码之Math.sin()与 Math.sqrt()

    深入学习java源码之Math.sin()与 Math.sqrt() native关键字 凡是一种语言,都希望是纯.比如解决某一个方案都喜欢就单单这个语言来写即可.Java平台有个用户和本地C代码进行 ...

  2. java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).

    java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 (  ). A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ...

  3. 深入学习java源码之Math.max()与 Math.min()

    深入学习java源码之Math.max()与 Math.min() java基本数据类型及自动转型 8种基本数据类型及其所占空间大小: 一.byte,占用一个字节,取值范围为 -128-127,默认是 ...

  4. java中math类的作用_Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  5. 深入学习java源码之Math.addExact()与 Math.multiplyExact()

    深入学习java源码之Math.addExact()与 Math.multiplyExact() ^运算符 或的运算符,其运算规则是: 两个操作数的位中,相同则结果为0,不同则结果为1. int i ...

  6. Java之数学工具包Math

    Java之数学工具包Math 导包 Math类是数学相关的工具类,里面提供了大量的静态方法,完成数学运算相关操作.import java.util.Math 方法 public static doub ...

  7. java apache commons_Apache commons(Java常用工具包)简介

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...

  8. <Java>使用commons.io修改文件内容(中文标点符号改成英文)

    一.前言 今天整理笔记,发生笔记中很多代码和笔记的标点符号是中文符号,所以写了个很简单的代码实现中文标点符号改成英文标点符号,读写文件涉及到io流,传统io流使用起来不是很方便,代码量多,难记!(赶时 ...

  9. java 用Apache Commons Email发邮件

    所需jar包:commons-email-1.4.jar和mail-1.4.1jar SimpleEmail 用于发送普通文本邮件 package liu.email;import org.apach ...

  10. java分装_Java ——Number Math 类 装箱 拆箱 代码块

    本节重点思维导图 当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等 int a = 5000;float b = 13.65f;byte c = 0x4 ...

最新文章

  1. 使用Leangoo管理Sprint Backlog
  2. Windows核心编程 第十四章 虚拟内存
  3. 使用类前置声明的好处-结合Qt 4一个主窗口实例讲解
  4. pb 窗口数据修改sql_Snowflake将成为在云中变得更好的数据仓库
  5. WordPress数据库管理中五个实用的phpMyAdmin技巧
  6. aliy 数据库连接池加密_Druid实现数据库连接用户密码加密 互联网技术圈 互联网技术圈...
  7. 数据库开发 - 事务 死锁分析与解决
  8. 转载:ASP.net页面跳转方式三种
  9. 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
  10. 通信原理 | 滤波器:模拟滤波器和数字滤波器
  11. STREAM内存带宽测试工具介绍及其内部实现
  12. Ribbon详解与实例
  13. Xilinx zynqmp USB开发
  14. linux下格式化SD卡
  15. 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
  16. STM32F103高级定时器死区时间计算
  17. java 8 中文字体_在java程序中直接使用中文字体文件
  18. 使用shell脚本来监控域名过期时间
  19. python 匹配两个字符串的相似度
  20. 【稻韵果香,以梦为家】云和恩墨大讲堂电子期刊第九期

热门文章

  1. Axure RP 7.0初学篇01-------安装
  2. CAN和CAN FD
  3. IDL 读取葵花8(Himawari-8)HSD数据
  4. 高速系统设计自学笔记——信号完整性6
  5. 什么是视频封装格式和编码格式
  6. 内存映射文件原理探索
  7. HashMap 的底层结构和原理
  8. plex插件显示无服务器,Plex插件
  9. ATK-ESP8266 串口转WIFI模块 简历
  10. python实战演练二:抓取我自己csdm博客信息的标题和文章链接,并存入文件夹《列表存入数据到txt》