首页 > 代码库 > 收集的Java科学计算库
收集的Java科学计算库
2024-07-10 09:30:35 223人阅读
将数学、物理、生物、航天、经济学等的计算集成到单一系统架构,提供了细致全面的计算系统。
科学计算框架 Catalano
http://www.oschina.net/p/catalano
Catalano Framework 是一个 Java 和 Android 的科学计算框架。 主要计算功能: 图像处理 模糊逻辑 数学计算 统计 机器学习 神经网络
科学计算可移植扩展工具包 PETSc
http://www.oschina.net/p/petsc
PETSc(Portable, Extensible Toolkit for Scientific Computation) ,读作Pet-see,是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Argonne国家实验室开发的可移植可扩展科学计算工具箱,主要用于在分布式存储环境高效求解偏微分方程组及相关问题。PETSc所有消息传递通信均采用MPI标准实现。
PETSc用C语言开发,遵循面向对象设计的基本特征,用户基于PETSc对象可以灵活开发应用程序。目前,PETSc支持Fortran 77/90、C和C++编写的串行和并行代码。
PETSc是系列软件和库的集合,三个基本组件SLES、SNES和TS本身基于BLAS、LAPACK、MPI 等库实现,同时为TAO、ADIC/ADIFOR、Matlab、ESI 等工具提供数据接口或互操作功能,并具有极好的可扩展性能。PETSc为用户提供了丰富的Krylov子空间迭代方法和预条件子,并提供错误检测、性能统计和图形打印等功能。
线性方程组求解器是PETSc的核心组件之一,PETSc几乎提供了所有求解线性方程组的高效求解器,既有串行求解也有并行求解,既有直接法求解也有迭代法求解。对于大规模线性方程组, PETSc提供了大量基于Krylov子空间方法和各种预条件子的成熟而有效的迭代方法,以及其他通用程序和用户程序的接口。PETSc具有一般库软件所具备的高性能、可移植等优点,而且面向对象技术使得PETSc内部功能部件的使用非常方便,接口简单而又适用面广,可以缩短开发周期,减少工作量。
如今,越来越多的应用程序在PETSc环境上开发,并逐渐显示出PETSc在高效求解大规模数值模拟问题方面的优势和威力。 --摘自百度
支持C、C++、Fortran和Python语言。
特征:- Parallel vectors
- includes code for communicating ghost points
- Parallel matrices
- several sparse storage formats
- easy, efficient assembly
- Scalable parallel preconditioners
- Krylov subspace methods
- Parallel Newton-based nonlinear solvers
- Parallel timestepping (ODE) solvers
- Support for Nvidia GPU cards
- Complete documentation
- Automatic profiling of floating point and memory usage
- Consistent user interface
- Intensive error checking
- Portable to UNIX and Windows
- Over one hundred examples
- PETSc is supported and will be actively enhanced for many years
- Parallel vectors
图形化科学数据分析工具 VisIt
http://www.oschina.net/p/visit
VisIt 是一种交互式并行可视化访问和图形的分析工具,用来查看科学数据。用户可以从他们能快速生成可视化数据,随着时间而动态显示,操纵他们,保存用来展现的结果图像。Visit含有丰富套可视化功能。支持python和Java交互式调用。
科学计算工具 FreeMat
http://www.oschina.net/p/freemat
這是一款在語法功能與操作界面上,比起一樣免費的老大哥Octave較Matlab更加相似的軟體。可減少由Matlab轉換過來時,在使用上的陣痛期。有些學校已改用此軟體做授課教學,而不再局限於Matlab這套軟體。一樣使用.m檔...
Java 科学计算包 Shared Scientific Toolbox
http://www.oschina.net/p/shared+scientific+toolbox
共享科学工具箱是一个用于科学和分布式计算的Java类库。它具有广泛的多方面的阵列线性代数和FFT支持;异步,高性能的网络层和诠释抽象类载入中,记录和消息传递。
Java数学计算包 JSci
http://www.oschina.net/p/jsci
JSci 是一个开源的包集合,这些包中包含数学和科学类。
Features
- Abstract math interfaces
- Linear algebra (support for various matrix and vector types)
- Statistics (including probability distributions)
- Wavelets
- Newtonian mechanics
- Chart/graph components (AWT and Swing)
- MathML DOM implementation
- Lots more...
桉树云服务环境 Eucalyptus
http://www.oschina.net/p/eucalyptus
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚...
bystroTeX
http://www.oschina.net/p/bystrotex
bystroTeX 是一个面向科学演示的幻灯片展示系统。特别适用那些大量使用复杂公式的技术演讲。使用 Scribble (the Racket documentation system) 来通过
评价:似乎是个好东西
海量数据传输协议 GridFTP
GridFTP,美国阿贡国家实验室(ANL)开发的通讯协议,已在美国能源部的Energy Sciences Network(ESnet)上用于传输海量数据(中文),提供可靠的、高效率的通讯基础,使大规模的、共同合作的科学努力更加容易。
今日的大规模的、合作性的科学计划通常要传输数量惊人的数据,海量数据传输会造成网络的巨大负担,传统的通信协议无法处理如此巨大的数据传输需求, 结果可能导致延迟或数据丢失,GridFTP便是用于解决该问题。举例来说,用Secure Copy进行数据迁移,在两个远程主机之间传输33GB数据需花费八小时。而GridFTP在同样时间内可以传输20倍的数据,不同于 FTP,GridFTP可以使用多重数据通道改进传输速度。
大数据图形化工具 GraphBuilder
http://www.oschina.net/p/graphbuilder
GraphBuilder由英特尔研究院(Intel Labs)开发,是首个针对大数据的可扩展的开源Java库,可以将大数据集构建成图形——能够反映数据之间关系的网络状结构图,帮助行业和学术界的科学
文件共享软件 OneSwarm
http://www.oschina.net/p/oneswarm
OneSwarm是华盛顿大学计算机科学系 研究人员开发的新文件共享软件,能改善P2P网络的隐私。OneSwarm的共享不是采用直接的通信,而是朋友对朋友(F2F,friend-to- friend
生物信息学基础库 BioJava
http://www.oschina.net/p/biojava
BioJava – 开源的生物信息学基础库 生物信息学,从字面上理解,这是一门与生命科学和信息科学这两个当今热点领域都相关的学科。 那到底什么是生物信息学?在这里,我只能很遗憾地告诉大家,对于这样
Colt Matrix library
Colt Project 提供了一组开源的高性能的科学和数学计算的 Java 库。
Java数值计算包 jLab
http://www.oschina.net/p/jlab
jLab是数值计算的Java执行环境。该jLab环境的目的是提供一个基于Matlab / Scilab喜欢的科学计算平台所支持的脚本引擎执行的Java语言。 The current jLab
并行计算框架 Apache Hama
http://www.oschina.net/p/hama
Hama 是个计算框架,基于BSP (Bulk Synchronous Parallel大容量同步并行)计算技术,主要针对大规模科学的计算。
MathML渲染器 GMathml
http://www.oschina.net/p/gmathml
GMathml 是一个 MathML 的渲染器,用来将 MathML 标识语言转成形如下图的数学公式 支持输出到 PNG/SVG/PDF 等格式。 以下内容来自百度百科: http://baike.baidu.com/view/631411.htm MathML?(Mathematical Mark...
MathML渲染器 JEuclid
http://www.oschina.net/p/jeuclid
JEuclid 是一个Java 的 MathML 的渲染器,用来将 MathML 标识语言转成形如下图的数学公式 支持的输出格式包括:JPEG, BMP, WBMP, GIF, SVG, EMF, PDF, PS, SWF JEuclid 由一个MathML浏览器、命令行转换工具、Ant...
简单分布式计算机制 JavaSpaces
http://www.oschina.net/p/javaspaces
JavaSpaces技术是进行分布式计算的一种简单机制,在分布式计算应用程序中,JavaSpaces 提供了对象的提供者和请求者可用来方便地进行通信的共享虚拟空间,这允许以Java对象的形式对任务、请求和信息进行简单的交换...
GNU TeXmacs(好东东)
GNU TeXmacs 是一个所见即所得的科学公式编辑软件,提供一个独一无二、使用便利的框架用来编辑结构化文档。
TeXmacs 的主要特点是:
跟 Lyx 等不同,它不是一个 TeX 的“前端”,而是一个完全独立的,超越 TeX 的系统。TeXmacs 拥有跟 TeX 相同,甚至更好的排版美观程度。这是因为它采用跟 TeX 一样的排版算法,并且用 C++ 重新实现。据说分页的算法比 TeX 的还要好些。
拥有超越 Word (或者任何一款字处理软件)的,真正的“所见即所得” (WYSIWYG)。Word 所谓的“所见即所得”其实是假的。所见即所得的含义应该是,屏幕上显示的内容,跟打印下来的完全一样。可是 Word 能做到吗?打印一个文档出来你就发现跟屏幕上显示的有很大区别,一般来说屏幕上显示的要粗糙一些。一些 TeX 的前端,比如 Lyx, Scientific Workspace 等也是类似的,它们都不能达到真正的所见即所得。
直接可在屏幕文档里绘图。完全可视化的表格,公式编辑环境。这些都是比 TeX 方便高效很多的方式。需要当心的是,用过 TeXmacs 一段时间之后,你会发现回到 TeX 的公式编辑方式简直就像回到原始社会。
非常人性化的按键设计。比如,在数学公式环境下,你按任意一个字符,然后就可以用多次 TAB 键相继选择“拓扑相同”的字符。举个例子,如果你按 @,然后再按几下 TAB,就会发现这个字符变成各种各样的圆圈形的字符。如果你按 >,再按 =,就会出现大于等于号,之后再按 TAB,就会相继出现大于等于号的各种变体。
在直观的同时不失去对底层结构的控制。比如,(见下图)窗口右下角的状态栏,显示出当前光标位置的“上下文”是“proof eqnarry* (1,1) start”,这表示的是这是在一个 proof 环境里的 eqnarry 的坐标 (1,1) 的开始处。当你使用 Ctrl-Backspace,最靠近光标的那层“环境”会被删除。比如,如果你现在的字体是斜体,那么在 Ctrl-Backspace 之后,字体就立即还原成正体。
结构化的浏览功能。比如,按 Ctrl-PgUp, Ctrl-PgDn 就可以在“相同类型”的结构里上下跳转。比如,如果你在小节标题里按这个键,就可以迅速的浏览所有的小节标题。如果你在数学公式里按这个键,就可以迅速浏览所有的数学公式。
与交互式程序接口。支持很多种计算机代数系统,和交互式软件,比如 MAXIMA,Octave,…… 这些系统返回的数学公式会直接被 TeXmacs 显示为“TeX 效果”。使用 Scheme 作为嵌入式语言,并且可以使用它来扩展系统。这比起 TeX 的语言是非常大的进步。