Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denisrosset/alasc
Computational Group Theory in Scala. It's Scala permuted!
https://github.com/denisrosset/alasc
combinatorics group-theory group-theory-algorithms permutation-algorithms permutation-groups permutations scala
Last synced: 3 months ago
JSON representation
Computational Group Theory in Scala. It's Scala permuted!
- Host: GitHub
- URL: https://github.com/denisrosset/alasc
- Owner: denisrosset
- Created: 2013-06-04T14:04:42.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2019-03-19T00:57:22.000Z (almost 6 years ago)
- Last Synced: 2023-04-18T08:46:43.199Z (almost 2 years ago)
- Topics: combinatorics, group-theory, group-theory-algorithms, permutation-algorithms, permutation-groups, permutations, scala
- Language: Scala
- Homepage:
- Size: 1.71 MB
- Stars: 20
- Watchers: 7
- Forks: 3
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
AlaSc, it's Scala permuted!
===========================[![Join the chat at https://gitter.im/denisrosset-alasc/Lobby](https://badges.gitter.im/denisrosset-alasc/Lobby.svg)](https://gitter.im/denisrosset-alasc/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
AlaSc is a Computational Group Theory library aiming to implement
permutation group algorithms in Scala. The library implements the
deterministic and randomized Schreier-Sims algorithms using
explicit transversals, along with a few helpers.It also provides a `Grp` class which can be used to explore any finite
group provided a faithful action is provided.The library is by no means complete, and the API is unstable for now.
Similar projects include:
* The open source C++ library [PermLib](http://www.math.uni-rostock.de/~rehn/software/permlib.html)
* The open source C program [GAP System](http://www.gap-system.org/)
* The closed source program [Magma](http://magma.maths.usyd.edu.au/magma/)This software is licensed under the terms of the [GNU Public License version 3](http://www.gnu.org/licenses/gpl-3.0.html).
YourKit is kindly supporting AlaSc open source project with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
* [YourKit Java Profiler](http://www.yourkit.com/download/) and
* [YourKit .NET Profiler](http://www.yourkit.com/dotnet/download/)```
Welcome to Scala version 2.11.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_45).
Type in expressions to have them evaluated.
Type :help for more information.scala> import net.alasc.finite._; import net.alasc.perms._; import net.alasc.perms.default._; import net.alasc.syntax.all._; import net.alasc.std.any._; import spire.implicits._
scala> val M11 = Grp(Perm(1,2,3,4,5,6,7,8,9,10,11), Perm(3,7,11,8)(4,10,5,6))
M11: net.alasc.math.Grp[net.alasc.math.Perm] = Grp(Perm(1,2,3,4,5,6,7,8,9,10,11), Perm(3,7,11,8)(4,10,5,6))scala> M11.setwiseStabilizer(2,9)
res0: net.alasc.math.Grp[net.alasc.math.Perm] = Grp(Perm(1,8)(2,9)(3,4)(5,10), Perm(1,10)(3,4)(5,8)(7,11), Perm(1,6,3,7)(4,5,8,10), Perm(1,7,3,6)(4,10,8,5), Perm(1,10,3,5)(4,6,8,7)) of order 144
```