Hi,
Thanks for the explanation. While writing the type abstract below I
realized that I should have specified μ being Matrix{T} instead of
Array{T}---but I hadn't suspected this was the culprit. I still find it a
difficult balance between over-specifying types in functions and type
i just want to return from the function. i often encounter the problem
where i need just one property out of a function result and want to return
from the current function if the function contains no data. this is e.g.
usefull if you encapsulate data and status of your result into a special
Yes, indeed. It should be p. Thanks.
Dňa utorok, 21. októbra 2014 18:43:03 UTC+2 Douglas Bates napísal(-a):
Also, in your Julia code you have used *nvars* without defining it. You
probably intended
n,nvars=size(X)
Two simple rules:
- Always use concrete types for fields in types. When in doubt, use
`isleaftype` to check.
- You never need to specify types in functions unless you want to control
dispatch to different methods
Like most rules, there are circumstances where you can afford to/want to break
Thanks. I'll try to use loops too.
While still exploring my vectorized code I found out that matrix-vector
multiplication is a lot faster when going column-wise, e.g.
X = rand(8000,8000);
a = rand(8000);
julia @time r = a' * X;
elapsed time: 0.131689512 seconds (128224 bytes allocated)
going
On Wednesday, October 22, 2014 02:27:30 AM Ján Dolinský wrote:
I wonder why my vectorized code is not fast. I assume operations like X' *
a are using BLAS (e.g. BLAS.gemv()) and thus it should be as fast as a
devectorized code at least in this case.
Yes, but their result requires allocating a
Is it possibly to catch an error happening during macro evaluation?
Example:
```
macro a()
error(error in marco itself)
end
macro b()
:(error(error in marco generated code))
end
# works:
try
@b
end
# still errors:
try
@a
end
```
How to `try` the error in `@a`?
The problem is that the error from the macro evaluation is an error that
gets raised when evaluating the source, so you need to put try outside the
include of the file or use eval:
try
eval(:(@a))
end
You can also put the try block inside the macro.
Ivar
kl. 11:59:39 UTC+2 onsdag 22.
I frequently debug macros by writing them as functions that operate on
expressions, and then define the macro so it calls the function.
--Tim
On Wednesday, October 22, 2014 03:06:10 AM Ivar Nesje wrote:
The problem is that the error from the macro evaluation is an error that
gets raised when
Hello,
i'm now a julia user for some time, but still i have problems (comming from
a c, f77, matlab, python background) to understand the type system.
Especially when i try to integrate own code into packages (happened to
Cairo + Compose, pending for Winston) i seem to choose always a more
Hi Andreas,
Don't know if you've seen this already and whether this is helpful at all,
but I discovered this site
http://sidekick.windforwings.com/2013/03/print-julia-type-tree-with-juliatypesjl.html
once when I got confused by some TypeErrors, it basically lays out the
entire type tree of
I'm running into the problem in an example script, so Ivar's suggestion
works perfectly.
Mauro
On Wed, 2014-10-22 at 12:11, Tim Holy tim.h...@gmail.com wrote:
I frequently debug macros by writing them as functions that operate on
expressions, and then define the macro so it calls the
Hi
I have a (java) program which generates large amounts of numerical data in
matrix form (square matrix, ~10'000 x 10'000) on which I want to perform
some numerical analysis. Currently, I'm exporting the matrix data as CSV
but I could change that to a different format if necessary. I tried
What type had the resulting object?
Med venlig hilsen
Andreas Noack
2014-10-22 7:27 GMT-04:00 Luca Rossetto l.rosset...@gmail.com:
Hi
I have a (java) program which generates large amounts of numerical data in
matrix form (square matrix, ~10'000 x 10'000) on which I want to perform
some
I was able to generate an Array{Any, 2} or an Array{String, 2} but not an
Array{Float32, 2}. convert() always failed because there was apparently at
least one element in the array which caused a conversion error.
I now solved the problem using an entirely different data encoding. When I
Is there any function could be used to detect if the current enviroment is
REPL, IJulia or runing in a function?
On Wednesday, October 22, 2014 8:06:07 AM UTC-5, xiong...@gmail.com wrote:
Is there any function could be used to detect if the current enviroment is
REPL, IJulia or runing in a function?
The isinteractive() function comes close.
It works, thank you!
Is there any method to distinglish REPL or IJulia enviroment?
On Wednesday, October 22, 2014 3:11:14 PM UTC+2, Patrick O'Leary wrote:
On Wednesday, October 22, 2014 8:06:07 AM UTC-5, xiong...@gmail.com wrote:
Is there any function could be used to detect if the current
Dňa streda, 22. októbra 2014 11:56:31 UTC+2 Tim Holy napísal(-a):
On Wednesday, October 22, 2014 02:27:30 AM Ján Dolinský wrote:
I wonder why my vectorized code is not fast. I assume operations like
X' *
a are using BLAS (e.g. BLAS.gemv()) and thus it should be as fast as a
For people who use CSV, it would be helpful to know examples of elements that
caused this error---I don't use CSV myself much, but it seems strange that it
wouldn't be able to import a Float32 array.
If you're going binary, HDF5 would be a more portable choice.
--Tim
On Wednesday, October 22,
What Stefan is probably trying to say:
Instead of a function f(x, y) where x and y can have different types,
write f{T}(x::T, y::T), so that x and y are forced to have the same
type -- but this type can be any type. In this way, e.g. x+y can be
evaluated very efficiently, and without type
I'd like to approach this speed at the end.
I don't think it is possible in Julia right now without using dirty tricks
such as passing pointers around. You'd like to get the speed from BLAS by
operating on panels of your matrix, but you'd like to avoid the copying and
reallocation of arrays.
On Wednesday, October 22, 2014 9:20:01 AM UTC-4, xiong...@gmail.com wrote:
It works, thank you!
Is there any method to distinglish REPL or IJulia enviroment?
To detect whether you are running in IJulia,
isdefined(Main, :IJulia) Main.IJulia.inited
should work.
On Tuesday, October 21, 2014 10:44:30 PM UTC-4, Stefan Karpinski wrote:
I think you can get it with 1.0/0.0 even if INFINITY isn't defined.
Even better, you can just use HUGE_VAL. HUGE_VAL (defined in C89) is
equivalent to INFINITY on all IEEE machines (i.e. all modern CPUs); I don't
This is what I was saying:
immutable CurveFP{T:Number}
p::T
a::T
b::T
function CurveFP(p::T, a::T, b::T)
mod(4a^3 + 27b^2, p) != 0 || error(4*$a^3 + 27*$b^2 ≡ 0 mod $p)
new(p, a, b)
end
end
CurveFP{T:Number}(p::T, a::T, b::T) = CurveFP{T}(p, a, b)
On Wednesday, October 22, 2014 10:14:41 AM UTC-4, Erik Schnetter wrote:
What Stefan is probably trying to say:
Instead of a function f(x, y) where x and y can have different types,
write f{T}(x::T, y::T), so that x and y are forced to have the same
type -- but this type can be any type.
On Wednesday, October 22, 2014 9:40:14 AM UTC-5, Steven G. Johnson wrote:
On Tuesday, October 21, 2014 10:44:30 PM UTC-4, Stefan Karpinski wrote:
I think you can get it with 1.0/0.0 even if INFINITY isn't defined.
Even better, you can just use HUGE_VAL. HUGE_VAL (defined in C89) is
It will also help to make your other types immutable. There's certainly no
reason for PointINF not to be immutable.
On Wed, Oct 22, 2014 at 10:47 AM, Steven G. Johnson stevenj@gmail.com
wrote:
On Wednesday, October 22, 2014 10:14:41 AM UTC-4, Erik Schnetter wrote:
What Stefan is
Do you feel like you are over-typing things?
In function definitions, you only need types if you actually need to them
to pick a function to dispatch to. They don't make anything go faster, as a
specific version of a function will be compiled for every different set of
argument types you try
Please consider this implementation of a naive nearest neighbors distance
search:
function mindists_sq(pos, dists_min, Acp, t)
for i in 1:size(pos, 2)
dists_min[i] = Inf
for j in 1:size(Acp, 2)
sum!(t, (sub(pos, :, i) - sub(Acp, :, j)).^2)
if t[1]
I am doing some numerical work and then plotting some results.
I really don’t need to load the plotting packages on all processes that are
used to do the computation. Is there a way to execute import or using on
one process only?
I have tried include(joinpath(Pkg.dir(PackageName),
typo in my hacky function. Should have written
include(joinpath(Pkg.dir(PackageName),
src, PackageName.jl))
On Wednesday, October 22, 2014 11:33:11 AM UTC-4, Spencer Lyon wrote:
I am doing some numerical work and then plotting some results.
I really don’t need to load the plotting packages
I though the default behavior was for packages to be loaded only on one
process? I.e. unless you do @everywhere using PyPlot, Pyplot will only be
available on the first process?
Another somewhat hacky solution would be to simply add workers later, i.e.
load the packages you need for plotting,
This works for me:
julia function mindists_sq(pos, dists_min, Acp)
for i in 1:size(pos, 2)
dists_min[i] = Inf
for j in 1:size(Acp, 2)
t = 0.0
for k=1:size(pos,1)
t += (pos[k,
I've started trying to write code that would allow me to take an existing
while-loop or for-loop and augment it with the ability for a user to pause the
computation and terminate it early. This is really useful in Optim, where you
might want to stop optimizing as soon as the solution hits a
Somewhat OT: since the JIT compiles a different function for each argument
type combination, couldn't it compile a different type object for every
field type combination?
On Wednesday, October 22, 2014 10:53:26 AM UTC-4, Iain Dunning wrote:
Do you feel like you are over-typing things?
In
Couldn't you use InterruptExceptions here (ctrl-c handlers), disabling
sigint during the loop body so that the exception only occurs when you are
ready?
for i in iterations
try
disable_sigint() do
do an iteration
end
catch e
if isa(e,
That's an option for immutable types and it amounts to making the types of
fields implicit (invisible) type parameters. For mutable types, the type of
an abstractly typed field can change at any point in time, so that's not an
option.
On Wed, Oct 22, 2014 at 12:08 PM, Cedric St-Jean
I've run into the same problem. Once we can load packages quickly, this will
be less of a concern, but it seems worth opening an issue.
--Tim
On Wednesday, October 22, 2014 08:33:11 AM Spencer Lyon wrote:
I am doing some numerical work and then plotting some results.
I really don’t need to
Hi All,
I posted a suggestion, for integration of Julia in Paraview, but it could
use some votes/love.
http://paraview.uservoice.com/forums/11350-general/suggestions/6580456-integrate-julia
Paraview http://www.paraview.org/is a popular and important data
visualization program that's used for
This works for me:
julia function mindists_sq(pos, dists_min, Acp)
for i in 1:size(pos, 2)
dists_min[i] = Inf
for j in 1:size(Acp, 2)
t = 0.0
for k=1:size(pos,1)
t
The clean way to get that effect is via parametric types.
-- John
On Oct 22, 2014, at 9:08 AM, Cedric St-Jean cedric.stjean...@gmail.com wrote:
Somewhat OT: since the JIT compiles a different function for each argument
type combination, couldn't it compile a different type object for every
I didn't know that disable_sigint existed. I'll experiment with it today.
-- John
On Oct 22, 2014, at 9:09 AM, Steven G. Johnson stevenj@gmail.com wrote:
Couldn't you use InterruptExceptions here (ctrl-c handlers), disabling sigint
during the loop body so that the exception only occurs
Note too that instead of readavailable, it seems like you want read(io,
Uint8)
As an extension of Steven's suggestion, you could use other signals too (eg
like how 'kill -SIGINFO' will give you a backtrace)
On Wednesday, October 22, 2014, Steven G. Johnson stevenj@gmail.com
wrote:
Couldn't
Right, the question is essentially whether you can implicitly introduce
type parameters for the programmer – which you can for immutable types but
not for mutable types. This example may make the difference clearer:
type Foo1
field::Number
end
type Foo2{T:Number}
field::T
end
These types
Yup. Maybe another way to say it: the function system can do so much ad hoc
specialization precisely because the type system provides enough invariants for
the compiler to depend upon.
-- John
On Oct 22, 2014, at 9:37 AM, Stefan Karpinski ste...@karpinski.org wrote:
Right, the question is
Yes, check the link Tim Holy sent - its a command line option.
On Wednesday, October 22, 2014 12:27:32 PM UTC-4, accou...@gmail.com wrote:
This works for me:
julia function mindists_sq(pos, dists_min, Acp)
for i in 1:size(pos, 2)
dists_min[i] = Inf
Hey advanced julia users,
I am new to the julia programming language and just started to learn it. I
just set up a new Linux Mint installation and installed julia by adding the
ubuntu repository as suggested on the website. As a first step I wanted to
install PyPlot by typing Pkg.add(PyPlot).
run Pkg.init() first if the metadata does not exist.
On Wednesday, October 22, 2014 1:20:42 PM UTC-4, Markus Roth wrote:
Hey advanced julia users,
I am new to the julia programming language and just started to learn it. I
just set up a new Linux Mint installation and installed julia by
Although that should be done for you. Does /home/markus/.julia/v0.3 exist?
If so, what's in it?
On Wed, Oct 22, 2014 at 1:28 PM, Jake Bolewski jakebolew...@gmail.com
wrote:
run Pkg.init() first if the metadata does not exist.
On Wednesday, October 22, 2014 1:20:42 PM UTC-4, Markus Roth
Also is git installed.
On Wed, Oct 22, 2014 at 1:30 PM, Stefan Karpinski ste...@karpinski.org
wrote:
Although that should be done for you. Does /home/markus/.julia/v0.3 exist?
If so, what's in it?
On Wed, Oct 22, 2014 at 1:28 PM, Jake Bolewski jakebolew...@gmail.com
wrote:
run Pkg.init()
Ah, yes. Not having git could cause that error too.
On Wed, Oct 22, 2014 at 1:34 PM, Keno Fischer kfisc...@college.harvard.edu
wrote:
Also is git installed.
On Wed, Oct 22, 2014 at 1:30 PM, Stefan Karpinski ste...@karpinski.org
wrote:
Although that should be done for you. Does
The folder /home/markus/.julia is empty. Can I fix this somehow?
Am Mittwoch, 22. Oktober 2014 19:30:43 UTC+2 schrieb Stefan Karpinski:
Although that should be done for you. Does /home/markus/.julia/v0.3 exist?
If so, what's in it?
On Wed, Oct 22, 2014 at 1:28 PM, Jake Bolewski
https://lh3.googleusercontent.com/-5KCNLVgLr-c/VEftxqSt4cI/ADk/gaj_ZhVH4qs/s1600/jl2.jpg
Just tried your suggestion. Got another, probably similar, error message
(see attached).
Am Mittwoch, 22. Oktober 2014 19:28:44 UTC+2 schrieb Jake Bolewski:
run Pkg.init() first if the metadata
Does git exist?
On Wed, Oct 22, 2014 at 1:51 PM, Markus Roth marrot...@gmail.com wrote:
https://lh3.googleusercontent.com/-5KCNLVgLr-c/VEftxqSt4cI/ADk/gaj_ZhVH4qs/s1600/jl2.jpg
Just tried your suggestion. Got another, probably similar, error message
(see attached).
Am Mittwoch,
Hi is there a way to concatenate turple of strings that if the last string
is a space that does not remove it?
join((1, ))==1
The space shouldn't be and isn't removed:
julia join((1, ))
1
This seems like something that would not be different in any version of
Julia.
On Wed, Oct 22, 2014 at 2:00 PM, Daniel Høegh dhoeg...@gmail.com wrote:
Hi is there a way to concatenate turple of strings that if the last string
is
I suspect Daniel may have thought that join adds joining spaces by default:
julia length(join((1, )))
2
julia length(join((1, ), ))
3
-- John
On Oct 22, 2014, at 11:05 AM, Stefan Karpinski ste...@karpinski.org wrote:
The space shouldn't be and isn't removed:
julia join((1, ))
1
I appreciate the feedback I'm still just getting acquainted with Julia as
you can tell, I'll post an updated version with some benchmarks in a bit.
One thing I'm not sure about is if this is the correct Method
Parametrization syntax - it seems to work though...
function
Just installed git via
sudo apt-get install git-core
After that I was able to install PyPlot. Thank you very much! Maybe it is worth
putting a note on git to your webiste (just for the less sophisticated users as
I am ;))
Am Mittwoch, 22. Oktober 2014 19:53:18 UTC+2 schrieb Stefan
Sorry my mistake I should probably stop programing for to night:)
Den onsdag den 22. oktober 2014 20.07.39 UTC+2 skrev John Myles White:
I suspect Daniel may have thought that join adds joining spaces by
default:
julia length(join((1, )))
2
julia length(join((1, ), ))
3
--
Right, by default, the joiner string is the empty string.
On Wed, Oct 22, 2014 at 2:13 PM, Daniel Høegh dhoeg...@gmail.com wrote:
Sorry my mistake I should probably stop programing for to night:)
Den onsdag den 22. oktober 2014 20.07.39 UTC+2 skrev John Myles White:
I suspect Daniel may have
I think we should explicitly catch this. I opened an issue
https://github.com/JuliaLang/julia/issues/8771 regarding this.
On Wed, Oct 22, 2014 at 11:13 AM, Markus Roth marrot...@gmail.com wrote:
Just installed git via
sudo apt-get install git-core
After that I was able to install PyPlot.
Could git also just be specified as a requirement in the ppa?
On Wednesday, October 22, 2014, Elliot Saba staticfl...@gmail.com wrote:
I think we should explicitly catch this. I opened an issue
https://github.com/JuliaLang/julia/issues/8771 regarding this.
On Wed, Oct 22, 2014 at 11:13 AM,
The nightlies should require `git` from now on.
-E
It's kind of cheating if we as Julia people who has never heard of Paraview
(or will ever use it) should vote on such a proposal.
I wish you the best of luck anyway. It's very nice to have people
advocating Julia in various places.
kl. 18:21:21 UTC+2 onsdag 22. oktober 2014 skrev Brenda Make
Those coming to Julia from languages like Python, R, Matlab/Octave, etc.
have it ingrained in them to fear the loop and to perform loop-like
calculations in verbose and convoluted ways. It is actually quite easy
to do this calculation in Julia with very little storage allocation by
writing
Notice how the constant pi causes an error in rad2deg().
I would think that this is a common use case for this function.
Also notice how if it was multiplied by 1.0 and error did not happen.
This is happening in in Version 0.3.1.
...Archie
julia pi
π = 3.1415926535897...
julia rad2deg(pi)
I have heard good things about paraview, and this does seem like a good
match. However, not having ever used it myself, I do not have anything to
add, except cheering from the sidelines!
-viral
On Wednesday, October 22, 2014 9:51:21 PM UTC+5:30, Brenda Make wrote:
Hi All,
I posted a
Thank you both. Saving the matrix as Miles suggested fixes the 'issue' I
was having.
On Saturday, October 18, 2014 7:03:41 PM UTC-7, Miles Lubin wrote:
In
srand(1);a=rand(2,2);a=a*a';cholfact!(a);logdet(a)
The issue is that cholfact!(a) destroys the data in a, you're not allowed
to
https://lh5.googleusercontent.com/-ZUXtcL7O7NU/VEgdJWff3II/AD0/xLDvRBTWh_o/s1600/jl3.jpg
Unfortunately got another error message (see screenshot) even though PyPlot
seems to be installed.
Am Mittwoch, 22. Oktober 2014 21:19:16 UTC+2 schrieb Elliot Saba:
The nightlies should
maybe this can help:
https://github.com/skariel/TriangleIntersect.jl
it intersects rays with triangles in 3D...
PyPlot uses the python module matplotlib. You need to install that in
Python.
Something along the lines of sudo pip install matplotlib, or sudo
apt-get install python-matplotlib should do the trick.
-E
You probably don't have the Python package matplotlib installed. Please the
guide at https://github.com/stevengj/PyPlot.jl
Med venlig hilsen
Andreas Noack
2014-10-22 17:10 GMT-04:00 Markus Roth marrot...@gmail.com:
Seems that matplotlib was not installed. Installed it using sudo apt-get
install python-matplotlib. Sorry for wasting your time. Hope that this
helps other beginners at their first installation of julia. Will start
learning julia tomarrow (hopefully ;)).
Am Mittwoch, 22. Oktober 2014 23:10:53
Could someone please explain to me how julia handles ^ operator. I'm
confused by this:
$ julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_)| Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type help()
-1^2 == -(1^2)
-- John
On Oct 22, 2014, at 2:39 PM, nikolai.mar...@icloud.com wrote:
Could someone please explain to me how julia handles ^ operator. I'm confused
by this:
$ julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_)
the following links would suggest that paraview's pvpython application
could be reachable with pycall ...
http://www.paraview.org/python/
http://www.itk.org/Wiki/ParaView/Python_Scripting
( see paraview.simple Module section )
enjoy !!!
cdm
Hello all! The latest bugfix release of the 0.3.X Julia line has been
released. Binaries are available from the usual place
http://julialang.org/downloads/, and as usual, please report all issues
to either the issue tracker https://github.com/JuliaLang/julia/issues, or
email this list.
As this
I guess so, except if you temporarily copy header files from here to a
place where the compiler will find them (untested):
Or add `jlulia/deps/libuv/include` to your compiler include path.
On Tue, Oct 21, 2014 at 10:57 AM, Milan Bouchet-Valat nalimi...@club.fr
wrote:
Le mardi 21 octobre
See https://github.com/JuliaLang/julia/issues/5561 and the other one linked
from there.
On Wed, Oct 22, 2014 at 4:27 PM, Arch Call archc...@gmail.com wrote:
Notice how the constant pi causes an error in rad2deg().
I would think that this is a common use case for this function.
Also notice
To specify colors with the layer approach, you can add a theme element to
each layer:
colors = [color(c) for c in [red, blue, green, ...]]
layers = Layer[]
for i=1:10
push!(layers, layer(x=x, y=M[:,i], Geom.line,
Theme(default_color=colors[i]))[1])
end
The only other way I'm aware of doing
Thanks. I will probably just use 1pi when needed...Archie
On Wednesday, October 22, 2014 4:27:21 PM UTC-4, Arch Call wrote:
Notice how the constant pi causes an error in rad2deg().
I would think that this is a common use case for this function.
Also notice how if it was multiplied by 1.0 and
well, yes. on linux, “run(`kill -SIGUSR1 $(getpid())`)” is the way to get
the instant backtrace
window’s unfortunately has a limited number of signals available (SHUTDOWN,
LOGOFF, SIGKILL, SIGINT, and ctrl-break) which aren’t terribly helpful for
this
and just for fun, there’s an alternative
Woohoo!
Yakir Gagnon
The Queensland Brain Institute (Building #79)
The University of Queensland
Brisbane QLD 4072
Australia
cell +61 (0)424 393 332
work +61 (0)733 654 089
On Thu, Oct 23, 2014 at 7:18 AM, Ariel Keselman skar...@gmail.com wrote:
maybe this can help:
Hi, I'm trying to run a k-means clustering algorithm on my data using the
sklearn package. I'm using Julia so I'm using PyCall in order to have
access to all the sklearn functions. When I run my k-means I'm getting an
output of cluster not defined. Any ideas on how to fix this?
estimator =
I would love to have this as soon as possible, and even work towards
parallelization. Perhaps if some first steps can be taken, I am sure more
can jump in and get this done.
Also, package help is the other big impediment here, and as soon as #8588
can be merged - I think we can have something
I’ll try to work on this in chunks starting soon, but there’s no way it’ll be
finished before December.
— John
On Oct 22, 2014, at 9:39 PM, Viral Shah vi...@mayin.org wrote:
I would love to have this as soon as possible, and even work towards
parallelization. Perhaps if some first steps
88 matches
Mail list logo