Skip to content

Commit

Permalink
Bump Elixir requirement to v1.15 (#1483)
Browse files Browse the repository at this point in the history
  • Loading branch information
josevalim committed May 13, 2024
1 parent d55faa1 commit 6139d2a
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 40 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ jobs:
fail-fast: false
matrix:
working_directory: ["nx", "exla", "torchx"]
elixir: ["1.14.5", "1.15.4"]
elixir: ["1.15.4", "1.16.2"]
otp: ["25.3"]
include:
- elixir: "1.15.4"
- elixir: "1.16.2"
lint: true
defaults:
run:
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
fail-fast: false
matrix:
working_directory: ["nx", "torchx"]
elixir: ["1.14.5"]
elixir: ["1.16.2"]
otp: ["25.2"]
defaults:
run:
Expand Down
2 changes: 1 addition & 1 deletion exla/mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ defmodule EXLA.MixProject do
[
app: :exla,
version: @version,
elixir: "~> 1.14",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
docs: docs(),
Expand Down
2 changes: 1 addition & 1 deletion nx/mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ defmodule Nx.MixProject do
[
app: :nx,
version: @version,
elixir: "~> 1.14",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
docs: docs(),
Expand Down
71 changes: 37 additions & 34 deletions nx/test/nx/lin_alg_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -566,40 +566,43 @@ defmodule Nx.LinAlgTest do
])
end

test "computes eigenvalues and eigenvectors for a Hermitian matrix case" do
# Hermitian matrix
t =
Nx.tensor([
[1, Complex.new(0, 2), 2],
[Complex.new(0, -2), -3, Complex.new(0, 2)],
[2, Complex.new(0, -2), 1]
])

assert {eigenvals, eigenvecs} = Nx.LinAlg.eigh(t, max_iter: 10_000)

# Eigenvalues
assert eigenvals ==
Nx.tensor([Complex.new(-5, 0), Complex.new(3, 0), Complex.new(1, 0)])

# Eigenvectors
assert round(eigenvecs, 3) ==
Nx.tensor([
[
Complex.new(-0.408, 0.0),
Complex.new(-0.0, 0.707),
Complex.new(0.577, 0.0)
],
[
Complex.new(-0.0, -0.816),
Complex.new(0.0, 0.0),
Complex.new(0.0, -0.577)
],
[
Complex.new(0.408, 0.0),
Complex.new(-0.0, 0.707),
Complex.new(-0.577, 0.0)
]
])
# TODO: Remove conditional once we require 1.16+
if Version.match?(System.version(), "~> 1.16") do
test "computes eigenvalues and eigenvectors for a Hermitian matrix case" do
# Hermitian matrix
t =
Nx.tensor([
[1, Complex.new(0, 2), 2],
[Complex.new(0, -2), -3, Complex.new(0, 2)],
[2, Complex.new(0, -2), 1]
])

assert {eigenvals, eigenvecs} = Nx.LinAlg.eigh(t, max_iter: 10_000)

# Eigenvalues
assert eigenvals ==
Nx.tensor([Complex.new(-5, 0), Complex.new(3, 0), Complex.new(1, 0)])

# Eigenvectors
assert round(eigenvecs, 3) ==
Nx.tensor([
[
Complex.new(-0.408, 0.0),
Complex.new(-0.0, 0.707),
Complex.new(0.577, 0.0)
],
[
Complex.new(-0.0, -0.816),
Complex.new(0.0, 0.0),
Complex.new(0.0, -0.577)
],
[
Complex.new(0.408, 0.0),
Complex.new(-0.0, 0.707),
Complex.new(-0.577, 0.0)
]
])
end
end

test "properties for matrices with different eigenvalues" do
Expand Down
2 changes: 1 addition & 1 deletion torchx/mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ defmodule Torchx.MixProject do
[
app: :torchx,
version: @version,
elixir: "~> 1.14",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
docs: docs(),
Expand Down

0 comments on commit 6139d2a

Please sign in to comment.