Skip to content

Commit

Permalink
fix broken link
Browse files Browse the repository at this point in the history
updated links
  • Loading branch information
alphaville committed Apr 17, 2020
1 parent ed1a7a0 commit 79e1210
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -36,7 +36,7 @@ open-clib/Cargo.lock
*.rs.bk

# Docusaurus website (autogenerated files)
/website/
/website/build/
!/website/pages/
!/website/static/
!/website/*.js
Expand Down
18 changes: 9 additions & 9 deletions docs/installation.md
Expand Up @@ -16,12 +16,12 @@ description: How to install OpEn

Before you start, you need to install

* **Rust**, following the official [installation guide](https://www.rust-lang.org/tools/install),
* **Rust**, following the official <a href="https://www.rust-lang.org/tools/install" rel="nofollow" target="blank">installation guide</a>,
- Why? The Rust compiler is an essential component of OpEn; you will most likely
not need to write (or compile yourself) any Rust code, but OpEn's Python/MATLAB
interface will need the compiler to build your optimizer
* **clang**, following this [guide](https://github.com/rust-lang/rust-bindgen/blob/master/book/src/requirements.md)
- Why? OpEn uses CasADi to build certain functions in C, which then need to be
* **clang**, following this <a href="https://github.com/rust-lang/rust-bindgen/blob/master/book/src/requirements.md" rel="nofollow" target="blank">guide</a>
- Why? OpEn uses CasADi to build certain functions in C, which then need to be
called from OpEn's core solver in Rust. For that purpose we need **bindgen**,
which requires **clang**

Expand All @@ -36,13 +36,13 @@ pip install opengen
You might need to prepend `sudo` on some Linux systems.

Note that OpEn requires Python **version 3.5 or newer**. You might, therefore,
need to install it using
need to install it using

```console
pip3 install opengen
```

OpEn may run on earlier versions of Python (as old as 2.7), but we cannot promise
OpEn may run on earlier versions of Python (as old as 2.7), but we cannot promise
you that (the main difficulty being the installation of dependencies).

### Python installation with virtualenv
Expand All @@ -58,17 +58,17 @@ pip install opengen
```

## MATLAB Interface
You first need to download [Optimization Engine](https://github.com/alphaville/optimization-engine/archive/master.zip), `cd` to `./matlab/` and run
You first need to download [Optimization Engine](https://github.com/alphaville/optimization-engine/archive/master.zip), `cd` to `./matlab/` and run

```matlab
setup_open
```

This will include to your MATLAB path all necessary folders.

You also need to [**download and install CasADi**](https://web.casadi.org/).
You also need to <a href="https://web.casadi.org/" target="_blank"><b>download and install CasADi</b></a>.

## OpEn in Rust
## OpEn in Rust
To use **OpEn** in your Rust project, add the following in your project's `Cargo.toml` file:

```
Expand All @@ -77,4 +77,4 @@ optimization_engine = "*"
```

You may replace the asterisk with some particular version (e.g., `optimization_engine = "0.6.0"`).
**OpEn** is available on [crates.io](https://crates.io/crates/optimization_engine).
**OpEn** is available on <a href="https://crates.io/crates/optimization_engine">crates.io</a>.
15 changes: 7 additions & 8 deletions website/pages/en/index.js
Expand Up @@ -14,7 +14,7 @@ const { MarkdownBlock, GridBlock, Container } = CompLibrary; /* Used to read mar
const siteConfig = require(`${process.cwd()}/siteConfig.js`);

function docUrl(doc, language) {
return `${siteConfig.baseUrl}${language ? `${language}/` : ""}${doc}`;
return `${siteConfig.baseUrl}docs/${doc}`;
}

function imgUrl(img) {
Expand Down Expand Up @@ -81,7 +81,7 @@ class HomeSplash extends React.Component {
<div className="inner">
<ProjectTitle />
<PromoSection>
<Button href={docUrl("docs/open-intro", language)}>
<Button href={docUrl("open-intro", language)}>
Get Started
</Button>
</PromoSection>
Expand Down Expand Up @@ -134,7 +134,7 @@ const FeaturesTop = props => (
title: "Accurate"
},
{
content: "**Sub-millisecond** fast numerical nonconvex optimization tested on several platforms: check out our <a href='https://arxiv.org/abs/2003.00292'>benchmarks</a>.",
content: "**Sub-millisecond** fast numerical nonconvex optimization tested on several platforms: check out our <a href='https://arxiv.org/abs/2003.00292' target='_blank'>benchmarks</a>.",
image: imgUrl("rocket.svg"),
imageAlt: "small rocket icon black and white",
imageAlign: 'top',
Expand Down Expand Up @@ -162,7 +162,7 @@ const FeaturesTopTwo = props => (
title: "Community"
},
{
content: "**Well documented** with lots of examples. Among 10% best documented open-source Rust projects according to <a href='https://www.openhub.net/p/optimization-engine/factoids#FactoidCommentsVeryHigh'>openhub</a>.",
content: "**Well documented** with lots of examples. Among 10% best documented open-source Rust projects according to <a href='https://www.openhub.net/p/optimization-engine/factoids#FactoidCommentsVeryHigh' target='_blank'>openhub</a>.",
image: imgUrl("saturn.png"),
imageAlt: "saturn icon black and white",
imageAlign: 'top',
Expand Down Expand Up @@ -201,7 +201,7 @@ const MovingHorizonEstimation = props => (
<Block className="oneColumn">
{[
{
content: "<div style='text-align:left'><p><a href='https://en.wikipedia.org/wiki/Moving_horizon_estimation' target='_blank'><b>Moving Horizon Estimation</b></a> (MHE) is the bee's knees of nonlinear estimation: it is an optimization-based estimator for constrained nonlinear systems. MHE is backed by a strong theoretical bedrock that combines maximum likelihood estimation and dynamic programming; however, its applicability has been hampered by the associated computational burden and has limited its use to slow or linear dynamical systems. OpEn can unlock the huge potential of MHE and facilitate its use in robotics, automotive, aerospace and other applications with high sampling frequencies.</p></div><img width=500 src='img/mhe.png' alt='estimation of the state of Lorenz system with nonlinear moving horizon estimation'/>",
content: "<div style='text-align:left'><p><a href='https://en.wikipedia.org/wiki/Moving_horizon_estimation' target='_blank'><b>Moving Horizon Estimation</b></a> (MHE) is the bee's knees of nonlinear estimation: it is an optimization-based estimator for constrained nonlinear systems. MHE is backed by a strong theoretical bedrock that combines Bayesian estimation and dynamic programming; however, its applicability has been hampered by the associated computational burden and has limited its use to slow or linear dynamical systems. OpEn can unlock the huge potential of MHE and facilitate its use in robotics, automotive, aerospace and other applications with high sampling frequencies.</p></div><img width=500 src='img/mhe.png' alt='estimation of the state of Lorenz system with nonlinear moving horizon estimation'/>",
title: "Moving Horizon Estimation"
}
]}
Expand Down Expand Up @@ -232,7 +232,7 @@ meta = og.config.OptimizerMeta() \\
solver_config = og.config.SolverConfiguration() \\
.with_tolerance(1e-5)
builder = og.builder.OpEnOptimizerBuilder(problem, meta,
build_config,
build_config,
solver_config)
builder.build()
`;
Expand All @@ -256,7 +256,7 @@ class Index extends React.Component {
<Container background="light">
<FeaturesTop />
<FeaturesTopTwo />
</Container>
</Container>
</div>
<Container>
<SuperFastBlock />
Expand All @@ -270,4 +270,3 @@ class Index extends React.Component {
}

module.exports = Index;

0 comments on commit 79e1210

Please sign in to comment.