Skip to content

Commit

Permalink
backports for 1.0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
benlorenz committed Jun 18, 2024
2 parents 6f1c28b + 00eecc4 commit 1ce4c12
Show file tree
Hide file tree
Showing 12 changed files with 51 additions and 28 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Oscar"
uuid = "f1435218-dba5-11e9-1e4d-f1a5fab5fc13"
authors = ["The OSCAR Team <oscar@oscar-system.org>"]
version = "1.0.3"
version = "1.0.4"

[deps]
AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ julia> using Oscar
/ _ \ / ___| / ___| / \ | _ \ | Combining ANTIC, GAP, Polymake, Singular
| | | |\___ \| | / _ \ | |_) | | Type "?Oscar" for more information
| |_| | ___) | |___ / ___ \| _ < | Manual: https://docs.oscar-system.org
\___/ |____/ \____/_/ \_\_| \_\ | Version 1.0.3
\___/ |____/ \____/_/ \_\_| \_\ | Version 1.0.4
julia> k, a = quadratic_field(-5)
(Imaginary quadratic field defined by x^2 + 5, sqrt(-5))
Expand Down Expand Up @@ -120,7 +120,7 @@ pm::Array<topaz::HomologyGroup<pm::Integer> >
If you have used OSCAR in the preparation of a paper please cite it as described below:

[OSCAR]
OSCAR -- Open Source Computer Algebra Research system, Version 1.0.3,
OSCAR -- Open Source Computer Algebra Research system, Version 1.0.4,
The OSCAR Team, 2024. (https://www.oscar-system.org)
[OSCAR-book]
Wolfram Decker, Christian Eder, Claus Fieker, Max Horn, Michael Joswig, eds.
Expand All @@ -133,7 +133,7 @@ If you are using BibTeX, you can use the following BibTeX entries:
key = {OSCAR},
organization = {The OSCAR Team},
title = {OSCAR -- Open Source Computer Algebra Research system,
Version 1.0.3},
Version 1.0.4},
year = {2024},
url = {https://www.oscar-system.org},
}
Expand Down
19 changes: 17 additions & 2 deletions docs/src/CommutativeAlgebra/rings.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,12 @@ of the coefficient ring of the polynomial ring.
The basic constructor below allows one to build multivariate polynomial rings:

```@julia
polynomial_ring(C::Ring, V::Vector{String}; cached::Bool = true)
polynomial_ring(C::Ring, xs::AbstractVector{<:VarName}; cached::Bool = true)
```

Its return value is a tuple, say `R, vars`, consisting of a polynomial ring `R` with coefficient ring `C` and a vector `vars` of generators (variables) which print according to the strings in the vector `V` .
Given a ring `C` and a vector `xs` of Strings, Symbols, or Characters, return
a tuple `R, vars`, say, which consists of a polynomial ring `R` with coefficient ring `C`
and a vector `vars` of generators (variables) which print according to the entries of `xs`.

!!! note
Caching is used to ensure that a given ring constructed from given parameters is unique in the system. For example, there is only one ring of multivariate polynomials over $\mathbb{Z}$ with variables printing as x, y, z.
Expand All @@ -54,6 +56,19 @@ julia> T, _ = polynomial_ring(ZZ, ["x", "y", "z"])
julia> R === S === T
true
```

```jldoctest
julia> R1, _ = polynomial_ring(ZZ, [:x, :y, :z]);
julia> R2, _ = polynomial_ring(ZZ, ["x", "y", "z"]);
julia> R3, _ = polynomial_ring(ZZ, ['x', 'y', 'z']);
julia> R1 === R2 === R3
true
```

```jldoctest
Expand Down
18 changes: 9 additions & 9 deletions docs/src/Experimental/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,29 @@ brought up to Oscar standard.

!!! danger "Dependencies"
- Code from `src` must never use code from `experimental`
- Say there are two packages `A` and `B` in `experimental`, and `B` depends
- Say there are two projects `A` and `B` in `experimental`, and `B` depends
on `A`. That means that `B` cannot be moved to `src` before `A`. Worse:
If `A` gets abandoned, `B` might share that fate. So please consider
carefully in such situations.

## Structure
For an example of the structure for a new project in `experimental` have a look
at project folders, i.e. `experimental/PACKAGE_NAME`, that have subfolders
`docs`, `src`, and `test` (The first two examples are
`experimental/{FTheoryTools, PlaneCurve}`). The general structure is
at project folders, i.e. `experimental/PROJECT_NAME`, that have subfolders
`docs`, `src`, and `test` (an example is
`experimental/FTheoryTools`). The general structure is
```
experimental/PACKAGE_NAME/
experimental/PROJECT_NAME/
├── README.md
├── docs
│   ├── doc.main
│   └── src
│   └── DOCUMENTATION.md
├── src
│   └── PACKAGE_NAME.jl
│   └── PROJECT_NAME.jl
└── test
└── *.jl
```
The file `src/PACKAGE_NAME.jl` and at least one `.jl` file in the `test/`
The file `src/PROJECT_NAME.jl` and at least one `.jl` file in the `test/`
directory are mandatory and are used by Oscar.jl to find your code and tests.
If there is a `test/runtests.jl` then only this file is executed during
testing, otherwise all `.jl` files will be run automatically (in a random
Expand All @@ -49,8 +49,8 @@ starting from scratch and don't have any documentation yet.

!!! note
There are still older projects in `experimental` from before the
introduction of this structure. Thus we mentioned `FTheoryTools` and
`PlaneCurve` as projects having adopted to the new standard.
introduction of this structure. Thus we mentioned `FTheoryTools`
as a project having adopted to the new standard.

### Useful functions for development
Apart from the hints in the [Introduction for new developers](@ref), there are some more specialized functions for the structure of the `experimental` folder.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/NoncommutativeAlgebra/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ CurrentModule = Oscar

Working over a field $K$, our focus in this chapter is on noncommutative Gröbner bases and their application
to the computational study of finitely presented associative $K$-algebras. At present state, OSCAR offers
- a comprehensive toolkit for dealing with PBW-algebras and their quotients modulo two-sided ideals,
- functionality for computing and applying (partial) two-sided Gröbner bases in free associative algebras on finitely many letters.
- an evolving toolkit for dealing with PBW-algebras and their quotients modulo two-sided ideals,
- some functionality for computing and applying (partial) two-sided Gröbner bases in free associative algebras on finitely many letters.

!!! note
In contrast to the general case of finitely presented associative algebras, (left, right, two-sided) ideals in PBW-algebras
Expand Down
4 changes: 2 additions & 2 deletions gap/OscarInterface/PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ SetPackageInfo( rec(

PackageName := "OscarInterface",
Subtitle := "GAP interface to OSCAR",
Version := "1.0.3",
Date := "31/05/2024", # dd/mm/yyyy format
Version := "1.0.4",
Date := "17/06/2024", # dd/mm/yyyy format
License := "GPL-2.0-or-later",

Persons := [
Expand Down
3 changes: 2 additions & 1 deletion src/AlgebraicGeometry/Surfaces/K3Auto.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2031,7 +2031,8 @@ function find_section(L::ZZLat, f::QQMatrix)
k = nrows(K)
Kl = integer_lattice(gram=K*transpose(K))
# project ss to K
sK = solve(change_base_ring(QQ,K*transpose(K)),change_base_ring(QQ,K*transpose(ss)))
sK = solve(change_base_ring(QQ,K*transpose(K)),change_base_ring(QQ,K*transpose(ss)); side=:right
)
a = QQ(1)
cv = []
while true
Expand Down
5 changes: 3 additions & 2 deletions system/Build.jl
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ Oscar.system("precompile.jl")

sysimage=joinpath(tmp, "Oscar.$(Libdl.dlext)")
if !("JULIA_CPU_TARGET" in keys(ENV)) || (ENV["JULIA_CPU_TARGET"] == "")
PackageCompiler.create_sysimage([:Oscar], sysimage_path=sysimage, precompile_execution_file=CO)
println("Building system image for generic target. Use JULIA_CPU_TARGET to change.")
target = PackageCompiler.default_app_cpu_target()
else
target = ENV["JULIA_CPU_TARGET"]
PackageCompiler.create_sysimage([:Oscar], sysimage_path=sysimage, precompile_execution_file=CO; cpu_target=target)
end
PackageCompiler.create_sysimage([:Oscar], sysimage_path=sysimage, precompile_execution_file=CO; cpu_target=target)

println("(re)start julia as")
println("\tjulia -J $(sysimage)")
5 changes: 2 additions & 3 deletions system/precompile.jl
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import Pkg
Pkg.add("Documenter")
Pkg.add("PrettyTables")
Pkg.add("Aqua")

Pkg.add("JSONSchema")
Pkg.precompile()

ENV["OSCAR_TEST_SUBSET"] = "short"
include(joinpath(pkgdir(Oscar), "test", "runtests.jl"))
Hecke.system("precompile.jl")
8 changes: 8 additions & 0 deletions test/AlgebraicGeometry/Surfaces/K3Auto.jl
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,11 @@ end
=#
end

@testset "find_section" begin
L = integer_lattice(gram=ZZ[0 2 3; 2 -2 1; 3 1 -2])
f = QQ[1 0 0;]
s = Oscar.find_section(L,f)
V = ambient_space(L)
@test inner_product(V,f,s)==1
@test inner_product(V,s,s)==-2
end
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@ Pkg.add(name="MixedSubdivisions", version=v"1.1"; io=devnull)
import LibGit2
repo = LibGit2.clone("https://github.com/isaacholt100/generic_root_count", "generic_root_count");
LibGit2.checkout!(repo, "ac17f42d0897d72e378310826b1c47db4d65df36");
include(joinpath(@__DIR__,"generic_root_count","src","main.jl"));
4 changes: 2 additions & 2 deletions test/book/test.jl
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ isdefined(Main, :FakeTerminals) || include(joinpath(pkgdir(REPL),"test","FakeTer
if length(chapter) > 0
ordered_examples = Dict("$chapter" => ordered_examples[chapter])
end
withenv("LINES" => dispsize[1], "COLUMNS" => dispsize[2], "DISPLAY" => "") do
withenv("LINES" => dispsize[1], "COLUMNS" => dispsize[2], "DISPLAY" => "", "GKSwstype" => "nul") do
for (chapter, example_list) in ordered_examples
cd(curdir)
@testset "$chapter" verbose=true begin
Expand Down Expand Up @@ -238,7 +238,7 @@ isdefined(Main, :FakeTerminals) || include(joinpath(pkgdir(REPL),"test","FakeTer
content = read(joinpath(Oscar.oscardir, "test/book", full_file), String)
if filetype == :jlcon && !occursin("julia> ", content)
filetype = :jl
@warn "possibly wrong file type: $full_file"
@debug "possibly wrong file type: $full_file"
end
if full_file in skipped
@test run_repl_string(mockrepl, content) isa AbstractString skip=true
Expand Down

2 comments on commit 1ce4c12

@benlorenz
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator register()

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/109238

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v1.0.4 -m "<description of version>" 1ce4c1231f122f2edc9c4ecd8d27b3c283014aea
git push origin v1.0.4

Please sign in to comment.