Skip to content

Commit

Permalink
README update to v020
Browse files Browse the repository at this point in the history
  • Loading branch information
kocvara committed Aug 7, 2024
1 parent ac58b0c commit 208a195
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ version = "0.2.0"
CSDP = "0a46da34-8e4b-519e-b418-48813639ff34"
ConjugateGradients = "f59de78d-195d-4e7b-a078-2e47da4c3ad6"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8"
Dualization = "191a621a-6537-11e9-281d-650236a99e60"
FameSVD = "9ba2d756-9ce3-11e9-1a71-0ffcb019784d"
GenericLinearAlgebra = "14197337-ba66-59df-a3e3-ca00e7dcff7a"
Expand Down
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
Loraine.jl is a Julia implementation of an interior point method algorithm for
linear semidefinite optimization problems.

The special feature of Loraine is the iterative solver for linear systems. This
is to be used for problems with (very) low rank solution matrix.
Special features of Loraine:

Standard (non-low-rank) problems and linear programs can be solved using the
direct solver; then the user gets a standard IP method akin SDPT3.
- Use of an iterative solver for linear systems. This is to be used for problems with (very) low rank solution matrix. Standard (non-low-rank) problems and linear programs can be solved using the direct solver; then the user gets a standard IP method akin SDPT3.
- Use of high-precision arithmetic (by means of MultiFloats.jl). Only to be used with a direct solver (and relatively small problems). *(New in version 0.2.0.)*

There is also a MATLAB version of the code at [kocvara/Loraine.m](https://github.com/kocvara/Loraine.m).

Expand All @@ -35,18 +34,31 @@ Pkg.add("Loraine")

## Use with JuMP

To use Loraine with JuMP, use `Loraine.Optimizer`:
To use Loraine with JuMP, use `Loraine.Optimizer` (for a standard double-precision solver) or `Loraine.Optimizer{Float64xN}`, with N = 2,...,8 ; for instance:
```julia
using JuMP, Loraine
model = Model(Loraine.Optimizer)
set_attribute(model, "maxit", 100)
```

or, for high-precision arithmetics,
```julia
using JuMP, Loraine
using MultiFloats
model = Model(Loraine.Optimizer{Float64x2})
```
or, for high-precision arithmetics with high-precision input,
```julia
using JuMP, Loraine
using MultiFloats
model = JuMP.GenericModel{Float64x2}(Loraine.Optimizer{Float64x2})
```
To solve an SDP problem stored in SDPA format, do
```julia
using JuMP, Loraine
# using MultiFloats
model = read_from_file("examples/data/theta1.dat-s")
set_optimizer(model, Loraine.Optimizer)
# set_optimizer(model, Loraine.Optimizer{Float64x8})
optimize!(model)
```

Expand Down

0 comments on commit 208a195

Please sign in to comment.