Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 03 19:34

    christopher-dG on set-up-TagBot

    (compare)

  • Nov 03 19:19

    christopher-dG on master

    Automated commit made by MassIn… Merge pull request #59 from Sci… (compare)

  • Nov 03 19:19
    christopher-dG closed #59
  • Nov 03 19:17
    christopher-dG opened #59
  • Nov 03 19:17

    christopher-dG on set-up-TagBot

    Automated commit made by MassIn… (compare)

  • Sep 15 14:59
    rtyasdf commented #25
  • Sep 06 15:51

    ChrisRackauckas on master

    Update .travis.yml (compare)

  • Sep 06 15:51

    ChrisRackauckas on master

    Update CompatHelper.yml (compare)

  • Apr 27 22:06

    github-actions[bot] on v2.5.0

    (compare)

  • Apr 27 21:39
    JuliaRegistrator commented #45
  • Apr 27 21:38
    ChrisRackauckas commented #45
  • Apr 27 21:38

    ChrisRackauckas on master

    Update Project.toml (compare)

  • Apr 27 14:20

    ChrisRackauckas on master

    Update README.md (compare)

  • Mar 26 16:09

    ChrisRackauckas on new_version

    (compare)

  • Mar 26 16:09

    ChrisRackauckas on master

    CompatHelper: bump compat for "… Merge pull request #58 from Sci… (compare)

  • Mar 26 16:09
    ChrisRackauckas closed #58
  • Mar 26 11:01
    github-actions[bot] opened #58
  • Mar 26 11:01

    github-actions[bot] on new_version

    CompatHelper: bump compat for "… (compare)

  • Feb 08 15:45

    ChrisRackauckas on master

    Install TagBot as a GitHub Acti… Merge pull request #57 from Jul… (compare)

  • Feb 08 15:45
    ChrisRackauckas closed #57
Christopher Rackauckas
@ChrisRackauckas
you were missing the closing ) from length
why is this not [ initialGuess( i ) for i in tspan ] though?
Simon Christ
@BeastyBlacksmith
because u0 should be dimension * time, right? But i could transpose instead
Christopher Rackauckas
@ChrisRackauckas
it should be arrays of the full state at each time.
Simon Christ
@BeastyBlacksmith
ok, then you are right. Was it always like that?
Christopher Rackauckas
@ChrisRackauckas
yup
Simon Christ
@BeastyBlacksmith
Then my DimensionMismatch comes from some other function. That is good to know :D
Simon Christ
@BeastyBlacksmith
thanks a lot, I'll implement this for solution structure also and next week I'll send a PR
Christopher Rackauckas
@ChrisRackauckas
alright cool
thank you!
Simon Christ
@BeastyBlacksmith
what is wrong with
    currentArea = 2. * pi * quadgk( x -> ( solution(x)[2] ), solution.t[1], solution.t[end] )
it gives
LoadError: MethodError: no method matching *(::Float64, ::Tuple{Float64,Float64})
Christopher Rackauckas
@ChrisRackauckas
does quadgk return a tuple?
I think it does
with one part being the error estimate?
julia> using QuadGK

julia> quadgk(x -> 2x,1,2)
(3.0, 0.0)
you need to index that to get the value
Simon Christ
@BeastyBlacksmith
ah .. thats why it complained about *
Simon Christ
@BeastyBlacksmith
function shoot()
    problem = BVProblem( shapeEquations, endConditions,
        initialConditions( 1e-3, param_values( shapeEquations ) ), tspan )

    costFunction = build_loss_objective( problem, Vern9(), keepAreaAndVolume, maxiters = 10000 )

    opt = Opt(:LN_COBYLA, 1)
    min_objective!( opt, costFunction )
    ( minf, minx, ret ) = NLopt.optimize( opt, [1,-1.1,1,1,3.14] )
    println( minf, minx, ret )
end
is this a correct way to do parameter estimation?
it gives me a BoundsError at the optimize line
Simon Christ
@BeastyBlacksmith
somehow the ndims(opt) yields 1
Christopher Rackauckas
@ChrisRackauckas
I don't think the default problem generator is setup for BVProblem yet.
that's likely the issue here.
that should be easy though
it needs the function for how to get a new problem and stick the parameters in there.
without the default, you can still define such a problem and pass it via the problem_generator kwarg.
But yeah, we should get that default together.
Simon Christ
@BeastyBlacksmith
yeah, i resolved the bounds error and now get
MethodError: no method matching problem_new_parameters(::DiffEqBase.BVProblem{Array{Float64,1},Float64,true,DiffEqBase.ParameterizedFunction{true,VesicleForms.#ShapeEquations,Array{Float64,1}},VesicleForms.#endConditions,DiffEqBase.StandardBVProblem,Void,UniformScaling{Int64}}, ::Array{Float64,1})
Christopher Rackauckas
@ChrisRackauckas
@BeastyBlacksmith lets add BVPs to the parameter stuff
I assume you're doing f(t,u,p,du)
and then also adding it to the residual?
bc(residual, sol,p)?
Simon Christ
@BeastyBlacksmith
no my bc extracts the parameters from sol
function endConditions( residual, solution )
    parameters = param_values( solution.prob.f )
    println( parameters )
    poleCurvature = parameters[4]

    rightBCs = rightBoundary( -solution.t[1], parameters )
    residual[1] = solution[1,end] - rightBCs[1]
    residual[2] = solution[2,end] - rightBCs[2]
    residual[3] = solution[3,end] - rightBCs[3]
    residual[4] = solution[4,end] - rightBCs[4]
end
is the bc(residual,sol,p) interface implemented?
would this line f = (t,u,du) -> prob.f(t,u,p,du) stay the same for BVProblems?
i guess so
Simon Christ
@BeastyBlacksmith

function problem_new_parameters(prob::BVProblem,p;kwargs...)
  f = (t,u,du) -> prob.f(t,u,p,du)
  uEltype = eltype(p)
  u0 = [uEltype(prob.u0[i]) for i in 1:length(prob.u0)]
  tspan = (uEltype(prob.tspan[1]),uEltype(prob.tspan[2]))
  BVProblem{isinplace(prob)}(f,prob.bc,u0,tspan,prob.problem_type;
  callback = prob.callback, mass_matrix = prob.mass_matrix,
  kwargs...)
end
param_values(prob::BVProblem) = param_values(prob.f)
num_params(prob::BVProblem) = num_params(prob.f)
Thats what i got so far, but I'm not sure, if i got that right
will be in the train now
Simon Christ
@BeastyBlacksmith
@ChrisRackauckas I'm back
Christopher Rackauckas
@ChrisRackauckas
cool
hmm
for two-point BVProblems, I'm not sure if that form gives a way to access parameters?
whatever the choice is, it should just be chosen and documented, and then these things will just be made to match that choice.
Simon Christ
@BeastyBlacksmith
which one do you mean? The bc interface or the problem_new_parameters?
Christopher Rackauckas
@ChrisRackauckas
the bc interface.
Joseph Gergaud
@gergaud_gitlab
Hello, I would like to do numerical comparisons between bvp solver from julia and bvp4c from matlab for optimal problem in edo with singular perturbation. For this I would like to obtain the number of evaluations of the second member of the bvp aind of the bc function. Is it possible? Il would like also to know the values of some parameter as relative error tolerance, ... And in addition to have reference of the algorithm. J. Gergaud
Christopher Rackauckas
@ChrisRackauckas
@gergaud_gitlab it's not available right now, and MATLAB would win. We still need to complete the adaptiveness of that algorithm.